专栏首页张志敏的技术专栏使用代码配置 NHibernate

使用代码配置 NHibernate

使用代码配置 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);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 设计模式之工厂方法模式

    Define an interface for creating an object, but let subclasses decide which clas...

    beginor
  • 使用 Castle Windsor 实现 Web API 依赖注入

    Web API 定义了依赖注入的接口 IDependencyResolver , 定义如下:

    beginor
  • NHibernate 批量数据插入测试

    SQL Server 环境为 VS2013 自带的 localdb v11.0, 对应的 NHibernate 配置为:

    beginor
  • 前端开发:Vue中双向数据绑定的简单使用

    在Vue.js开发过程中,数据处理是一个很重要的部分,尤其是Vue是一个MVVM的框架,也就是Vue经常谈到的双向数据绑定。双向数据绑定的大概原理就是:当数据发...

    三掌柜
  • R语言实现eQTL分析

    今天给大家介绍一个GWAS分析过程中的一个重要的环节eQTL(表达数量性状位点)分析。eQTL指的是染色体上一些能特定调控mRNA和蛋白质表达水平的区域,其mR...

    一粒沙
  • 后台开发 vs App应用开发?

    PS:听天由命吧,像是IT发展到现在,各个技术栈之间已经没有那么大的隔阂了,只要自己有心,相互之前转起来都是很简单的事情。

    IT故事会
  • @ConditionalOnxxx相关注解

    @Conditional(TestCondition.class) 这句代码可以标注在类上面,表示该类下面的所有@Bean都会启用配置,也可以标注在方法上面,...

    似水的流年
  • 移动安全深水区,五派玩家盘点

    百度世界大会已连续举办九届,收到邀请函的笔者注意到,安全业务第一次在百度世界上独立设置分论坛,与LBS、大数据和移动云论坛并列,地位非同一般,移动安全或将有大动...

    罗超频道
  • Android 基础[酷炫的状态栏]

    从上图可以看出随着TabLayout中选项卡的切换,状态栏及ActionBar会发生变色,大概可以想到,应该是在TabLayout选中时,动态的改变Status...

    小海编码日记
  • .NET应用架构设计—适当使用活动记录模式代替领域模型模式

    阅读目录: 1.背景介绍 2.简单介绍领域模型模式、活动记录模式 3.活动记录模式的简单示例及要点 4.总结 1.背景介绍 对软件开发方法论有兴趣的博友应...

    王清培

扫码关注云+社区

领取腾讯云代金券