使用代码配置 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);
时间: 2024-10-11 00:16:34

使用代码配置 NHibernate的相关文章

代码配置都没问题,为什么事务不回滚(了解Mysql数据库引擎)

前几天开发中遇到了一个问题,在进行调试的过程中发现配置在service层的事务不起作用,抛出异常后数据库的更新还是成功了,事务并没有回滚,然后就开始各种检查,查看spring的事务是否配置正确,进入更新方法时是否开启了事务,经过检查之后发现一切都正常,那为什么事务不回滚呢?问题出在了一个很难会去考虑的地方(数据库里创建的表不支持事务). Mysql数据库默认的创建表的引擎是:MYISAM,使用这种引擎的表效率高,但是不支持事务,所以我们在建表时最好是根据需求手动去指定我们需要的引擎,下面是一个能

EtherCAT从站代码配置

从站代码配置 参考EtherCATSlave Implementation Guide(EtherCAT从站实施指南)作为从站实施的开始 Beckhoff将从站协议栈代码(SSC)-源代码免费开放给所有ETG会员. EtherCAT从站实施套件也可以从相关供应商获取.EtherCAT从站协议栈可以从倍福官网获取. 图中各设备规范解释如下: FoE:File overEtherCAT; EoE:Ethernetover EtherCAT; SoE:SERCOSover EtherCAT; CoE:

ligerui_ligerTree_002_利用JavaScript代码配置ligerTree节点

利用JavaScript代码配置ligerTree节点: 源码地址:http://download.csdn.net/detail/poiuy1991719/8571255 效果图: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>JavaScript配置数据形式<

spring框架整合使用定时任务框架java quartz的示例代码配置

原创整理不易,转载请注明出处:spring框架整合使用定时任务框架java quartz的示例代码配置 代码下载地址:http://www.zuidaima.com/share/1775583461723136.htm 有时候我们的任务(Job)需要再某些任务完成之后才能进行:例如从旧的数据库批量导数据的时候:需要现将被其他数据依赖的数据导入新的数据库:然后再进行关系的导入..在这种情况下我们就可以使用Quartz的listener来做文章了. 首先我们写一个主任务的类,命名为MainJob:她

Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 代码配置

Spring Boot 内嵌的 Tomcat 服务器默认运行在 8080 端口.如果,我们需要修改Tomcat的端口,我们可以在 src/main/resources/application.properties 中配置Tomcat信息. server.port=8089 现在,你可以重新运行上面的例子,看下是不是 Tomcat 的端口变成 8089 了. 如果想直接通过代码配置 Tomcat, 可以直接定义 TomcatEmbeddedServletContainerFactory. 现在,我

Spherical CNNs代码配置过程

ICLR best paper: Spherical CNNs 论文链接:https://arxiv.org/abs/1801.10130 GITHUB地址:https://github.com/zhixuanli/s2cnn 中文讲解地址: https://www.zhihu.com/question/68713342 https://zhuanlan.zhihu.com/p/34042888 简介: In this paper we introduce the building blocks

mybatis 生成代码配置 mybatis-generator:generate 的使用详解

一.环境 mysql+eclipse 二.代码配置 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt

Tomcat使用MyEclipse远程调试Java代码配置详解

Tomcat使用MyEclipse远程调试Java代码总结如下:在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步.配置tomcat一.在windows系统中:打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket

简单使用git和github来管理代码----配置与使用

在以前没听说过github之前,自己写的代码很容易丢或者遗失,等到用时才知码到用时方恨丢,现在用了github,真的是替自己生省不少的事,闲话不多说,上教程. 1 在github上注册账号 https://github.com,我的绑定邮箱:[email protected],用户名nelson-hu,登陆成功创建个人仓库 2 下载安装git 3 下载安装完成后,按window键输入git--选中git bash,进入git命令界面 4 首先配置本地与远程git端的密钥 01 输入ssh-key