多数情况下 NHibernate 使用配置文件进行配置, 但是我们也可以使用代码进行配置, 步骤如下:

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<Category>(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);

相关文章:

  • 2022-02-10
  • 2021-11-24
  • 2020-06-14
  • 2022-12-23
  • 2022-02-02
  • 2021-05-24
  • 2022-12-23
  • 2021-12-28
猜你喜欢
  • 2022-12-23
  • 2021-07-26
  • 2021-04-11
  • 2021-09-05
  • 2022-12-23
相关资源
相似解决方案