install-package nhibernate

install-package nunit

  Customer.cs

public class Customer{public virtual Guid ID { get; set; }public virtual string Name { get; set; }public virtual string City { get; set; }}

Customer.hbm.xml,需要设置为嵌入式资源,并与相应CS文件同DLL

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping  xmlns="urn:nhibernate-mapping-2.2" assembly="NHi.Domain"  namespace="NHi.Domain.Entities"><class name="Customer" table="Customer"><id name="ID" column="ID" type="Guid" ><generator class="assigned" /></id><property name="Name" type="string"><column name="Name" sql-type="varchar(20)" not-null="false" /></property><property name="City" type="string"><column name="City" sql-type="nvarchar(500)" not-null="false" /></property></class>
</hibernate-mapping>

hibernate.cfg.xml

<?xml version="1.0" encoding="utf-8"?>
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" ><session-factory name="NHi.Test"><property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property><property name="connection.connection_string">server=local;database=NHiDemo;uid=sa;pwd=123456;</property><property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property><property name="hbm2ddl.auto">update</property>  <!--貌似只能添加列,对删除列,修改类型/长度不起作用,待续。。。--><mapping assembly="NHi.Domain"/></session-factory>
</hibernate-configuration>

BaseTest.cs

public  class BaseTest{protected ISessionFactory sessionFactory;[SetUp]public void Init(){var cfg = new NHibernate.Cfg.Configuration().Configure("Config/hibernate.cfg.xml");sessionFactory = cfg.BuildSessionFactory();}            
           [TearDown]        public void Teardown()        {           }
}

CustomerTest.cs
[TestFixture]
public class CustomerTest:BaseTest
{[Test]public void Add(){object o = null;using (ISession session = sessionFactory.OpenSession()){var customer = new NHi.Domain.Entities.Customer(){ID = Guid.NewGuid(),Name = "your name",City = "my city"};o=session.Save(customer);session.Flush();}Assert.NotNull(o);}
}

NuGet 包:

扩展和更新:

转载于:https://www.cnblogs.com/yipeng-yu/p/4160130.html

NHibernate 基础相关推荐

  1. NHibernate基础

    本文不将介绍NHibernate是什么,这个在其帮助中讲得非常清楚,本人下载中提供v2.0.0的帮助文档免费下载,地址为http://down.51cto.com/data/224472. 配置 本人 ...

  2. Nhibernate 基础关系映射

    多对一 <many-to-one name="OrderEntity" column="OrderID" class="MedicalSyste ...

  3. NHibernate扩展:FluentNHibernate基础教程

    http://www.cyqdata.com/nhibernate/article-detail-2523 经过大大小小的项目之后,在在DevText项目中使用下Fluent NHibernate,今 ...

  4. NHibernate之映射文件配置说明(转载2)

    六.鉴别器 在"一棵对象继承树对应一个表"的策略中,<discriminator>元素是必需的, 它定义了表的鉴别器字段. 鉴别器字段包含标志值,用于告知持久化层应该为 ...

  5. 【转】NHibernate入门教程

    开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo 摘要: 热衷于开源框架探索的我发现A ...

  6. Nhibernate学习起步之many-to-one篇(转)

    1.     学习目的: 通过进一步学习nhibernate基础知识,在实现单表CRUD的基础上,实现两表之间one-to-many的关系. 2.     开发环境+必要准备 开发环境: window ...

  7. NHibernate之映射文件配置说明

    1. hibernate-mapping 这个元素包括以下可选的属性.schema属性,指明了这个映射所引用的表所在的schema名称.假若指定了这个属性, 表名会加上所指定的schema的名字扩展为 ...

  8. Nhibernate学习之many-to-many篇

    学习目的: 通过进一步学习Nhibernate基础知识,掌握用Nhiberate实现多对多的业务逻辑 开发环境+必要准备 开发环境: windows 2003,Visual studio .Net 2 ...

  9. Nhibernate学习之起步篇-1

    1. 学习目的 学习Nhibernate基础知识.掌握Nhibernate的配置方法,实现对单表的简单操作,如:创建表,查询,添加,删除,修改. 2. 开发环境+前期准备开发环境: windows 2 ...

最新文章

  1. 论文翻译_做论文翻译需要知道哪些翻译技巧?知行翻译:这3个技巧
  2. 健康的身体是一切的保证 - 保护偶的颈椎!
  3. 利用Caffe训练模型(solver、deploy、train_val) + python如何使用已训练模型
  4. 你还弄不懂的傅里叶变换,神经网络只用了30多行代码就学会了
  5. 大话设计模式(十四 设计模式不能戏说!设计模式怎就不能戏说?)
  6. Spring 3.2.* MVC通过Ajax获取JSON数据报406错误
  7. hdu 4619 Warm up 2(并查集)
  8. win11怎么回退原系统 Windows11回退的步骤方法
  9. java安全框架下载文件_java安全框架之Permission学习笔记
  10. 分布式系统架构、微服务架构等架构区别
  11. Excel如何按照颜色排序
  12. 计算机操作系统——死锁的概念与处理
  13. java集合类-list
  14. Python项目--批量下载小姐姐壁纸
  15. 弘辽科技:2022年拼多多活动时间表是什么?促销方式有哪些?
  16. anaconda matplotlib绘图中文乱码解决
  17. Android----------Diglog对话框
  18. python while false是什么意思_Python3中真真假假True、False、None等含义详解
  19. 了解报表开发证书——FCRP
  20. java计算机毕业设计计算机组成原理教学网站源码+mysql数据库+系统+lw文档+部署

热门文章

  1. python交互式编程在哪里_终于明了python交互式编程入门
  2. 怎么用debug看jdbc查询的resultset中查出的数据_用了这个 ORM 工具,我只用一天就把项目数据库给换了
  3. 正态分布的前世今生:正态分布的进一步发展
  4. 数据挖掘在电信欺诈侦测中的应用
  5. html 无组件上传图片,无组件上传图片到数据库中,最完整解决方案
  6. android中的广播机制(动态注册)
  7. Git基础学习(黑马程序员笔记)
  8. C语言:编写一个程序,打印乘法“九九表”
  9. 计算机辅助设计技术案例,【智能科技学院】学院前沿技术运用课程组开展“计算机辅助设计”专题讲座...
  10. linux 烧录树莓派镜像,Linux命令行烧录树莓派镜像至SD卡