zoukankan      html  css  js  c++  java
  • 使用代码配置 NHibernate

    多数情况下 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);
  • 相关阅读:
    转载:Android SQLite数据库版本升级原理解析
    Android可移动的Button
    Android详细目录结构
    自动化测试(二)
    不使用if else
    C# 如何实现自己的FormEditor XML Protocol
    C#中的析构函数,GC和IDisposable的用法
    Java中生成和解析JSON
    GCMS笔记
    Android ConstraintLayout的使用(二)
  • 原文地址:https://www.cnblogs.com/zjoch/p/4065557.html
Copyright © 2011-2022 走看看