11. 下面通过Add方法,往Properties集合中添加键值对,定义NHibernate使用的ConnectionProvider,ConnectionDriver,Dialect,ProxyFactoryFactoryClass等等,代码如下:
cfg.Properties.Add(NHibernate.Cfg.Environment.ConnectionProvider, typeof(DriverConnectionProvider).FullName); cfg.Properties.Add(NHibernate.Cfg.Environment.ConnectionDriver, typeof(SqlClientDriver).FullName); cfg.Properties.Add(NHibernate.Cfg.Environment.Dialect, typeof(MsSql2008Dialect).FullName); cfg.Properties.Add(NHibernate.Cfg.Environment.ProxyFactoryFactoryClass, typeof(ProxyFactoryFactory).AssemblyQualifiedName); cfg.Properties.Add(NHibernate.Cfg.Environment.ConnectionString, @"server=.;database=CodeConfigurationSample;integrated security=SSPI;"); cfg.Properties.Add(NHibernate.Cfg.Environment.ShowSql, "true");
12. 现在需要声明想使用的映射,我们既可以单独的添加实体类型,也可以添加包含所有XML配置文件的程序集,代码分别如下:
//cfg.AddClass(typeof(Product)); cfg.AddAssembly(typeof(Product).Assembly);
13. 最后返回cfg。
return cfg;
14. 在Program里定义另一个静态方法BuildSchema,代码如下:
private static void BuildSchema(Configuration configuration) { new SchemaExport(configuration).Execute(true, true, false); }
15. 下面在Main方法中添加如下代码:
static void Main(string[] args) { var configuration = GetConfiguration(); BuildSchema(configuration); var factory = configuration.BuildSessionFactory(); using (var session = factory.OpenSession()) { var product = new Product { Name = "Apple", UnitPrice = 1.55m, ReorderLevel = 10, UnitsOnStock = 5 }; session.Save(product); session.Flush(); session.Clear(); var fromDb = session.Get<Product>(product.Id); System.Console.Write("\r\n\nHit enter to exit:"); System.Console.ReadLine(); }
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-39178-4.html
康师傅跟鬼子有啥关系
这也太片面了吧