NHibernate 使用流畅 API 进行配置

1、 创建一个 Configuration

using Nhibernate.cfg;

var config = new Configuration()
.SetProperty("connection.provider", "NHibernate.Connection.DriverConnectionProvider")
.SetProperty("connection.driver_class", "NHibernate.Driver.SqlClientDriver")
.SetProperty("dialect", "NHibernate.Dialect.MsSql2005Dialect")
.SetProperty("proxyfactory.factory_class", "NHibernate.Bytecode.DefaultProxyFactoryFactory, NHibernate")
.SetProperty("format_sql", "true")
.SetProperty("show_sql", "true")
.SetProperty("connection.connection_string", connectionString);

2、 添加映射

using NHibernate.Mapping.ByCode;

var mapper = new ModelMapper();
mapper.Class(cm => {
   cm.Schema("dbo");
   cm.Table("Categories");
   cm.Id(cat => cat.CategoryID, map => {
      map.Column("CategoryID");
      map.Generator(Generators.Native);
   });
   cm.Property(cat => cat.CategoryName, map => {
      map.Column("CategoryName");
      map.Length(100);
   });
   cm.Property(cat => cat.Description, map => {
      map.Column("Description");
      map.Length(200);
   });
});

3、 添加映射至 Configuration

var mappingDocument = mapper.CompileMappingForAllExplicitlyAddedEntities();
config.AddMapping(mappingDocument);
posted @ 2011-10-31 09:35  张志敏  阅读(440)  评论(0编辑  收藏  举报