使用代码配置 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...", connectionString); 2、 添加映射 using NHibernate.Mapping.ByCode; var mapper = new ModelMapper(); mapper.Class
NHibernate 配置使用 Formula 在 Nhibernate 的实体类映射中, 如果实体类的属性需要通过 SQL 计算才能得到, 则可以使用 Formula 选项解决。...Nhibernate 对 Formula 的要求如下: formula (optional): an SQL expression that defines the value for a computed...> ...Description]" type="string" /> 场景2: 映射复杂的 SQL 类型 SQL 2008 支持空间数据类型 geography 和 geometry , 映射空间数据类型可以通过 Nhibernate...>
配置nhibernate的方式有两种,一种是通过xml文件的方式配置,还有就是通过class的方式配置。...网上大多数是以xml的方式配置nhibernate,本文则已class的方式来配置,并通过IOC(依赖注入,本文以构造注入)的方式注册nhibernate。...下面就以一个demo来说明配置、注入以及使用的方法。 创建一个工程,在工程下添加三个项目。...即nhibernate的mapping。...; using NHibernate.Cfg; using NHibernate.Cfg.MappingSchema; using NHibernate.Dialect; using NHibernate.Driver
NHibernate 缓存 NHibernate 支持两种级别的缓存, 即一级缓存以及二级缓存。...NHibernate 的二级缓存是可以扩展的, NHibernate.ControlLib 提供了几个实现, 分别适用于不同的场景: NHibernate.Caches.MemCache NHibernate.Caches.Prevalence...NHibernate.Caches.SharedCache NHibernate.Caches.SysCache NHibernate.Caches.SysCache2 NHibernate.Caches.Velocity...也可以在实体类的 hbm 映射文件中配置使用二级缓存, 不过在 hibernate.cfg.xml 文件中统一配置是推荐的做法。...[Categories] this_ 二级缓存选项 NHibernate 二级有几个配置选项, 他们分别是: 实体类以及集合二级缓存配置选项 指定类: <class-cache class="类名称"
今天说一说Nhibernate_nhibernate与ef区别,希望能够帮助大家进步!!! 什么是NHibernate?...创建NH的配置文件,以告诉NH怎样连接数据库. 5. 使用NH提供的API....步骤4:创建数据库配置文件 目前为止,我们还没有告诉NH到哪儿去找数据库.最直接的方法就是在你程序的配置文件中给NH一个部分,就是这样: <?...驱动,连接到本地的nhibernate数据库,并且使用提供的用户和密码.还会有其他的配置项,你可以参看文档....- 映射文件 æ app.config - 带有Ado.net连接信息的配置文件(你也可以在代码中指定的) æ 一个叫做user的数据库表.
一、NHibernate简介 在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。NHibernate是一个面向.Net环境的对象/关系数据库映射工具。...二、NHibernate使用步骤 1.为系统引入NHibernate的库,并且配置NHibernate; 2.新建一个将要持久化.Net对象的表; 3.构建一个需要被持久化的.Net类; 4.构建一个可以让...NHibernate知道如何完成ORM映射的XML文件; 5.使用NHibernate的API来编程 三、NHibernate的使用 1....配置NHibernate (1)NHibernate的配置文件有两种:在桌面应用程序(WinForm)中为App.config,在网页应用程序(WebForm)中为web.config。...两种方法要添加的配置信息是一样的,目标都是告诉NHbiernate使用什么样的数据库,使用哪个库,用户密码分别是什么。
转载:http://www.cnblogs.com/tenghoo/archive/2011/02/14/1954393.html NHibernate专题:http://kb.cnblogs.com/...zt/nhibernate/ NHibernate官方站点:http://nhforge.org/ NHibernate参考文档:http://nhforge.org/doc/nh/en/ 获取NHibernate...地址:http://sourceforge.net/projects/nhibernate/ public IList GetUserOrderByUserID(string userid...select p; return list.ToList(); } } NHibernate...分页的测试 http://www.cnblogs.com/chenyt/archive/2010/12/04/nhibernate.html
NHibernate 支持两种级别的缓存, 即一级缓存以及二级缓存。...NHibernate 的二级缓存是可以扩展的, NHibernate.ControlLib 提供了几个实现, 分别适用于不同的场景: NHibernate.Caches.MemCache NHibernate.Caches.Prevalence...NHibernate.Caches.SharedCache NHibernate.Caches.SysCache NHibernate.Caches.SysCache2 NHibernate.Caches.Velocity...也可以在实体类的 hbm 映射文件中配置使用二级缓存, 不过在 hibernate.cfg.xml 文件中统一配置是推荐的做法。...[Categories] this_ 二级缓存选项 NHibernate 二级有几个配置选项, 他们分别是: 实体类以及集合二级缓存配置选项 指定类: <class-cache class="类名称"
相对NHibernate“O/R”而言,IbatisNet是一种“Sql Mapping”的ORM实现。...NHibernate对数据库结构提供了较为完整的封装,NHibernate的O/R Mapping实现了PO 和数据库表之间的映射,以及SQL 的自动生成和执行。...具体的SQL 需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定PO。...使用IbatisNet提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的DotNet对象,这一层与通过NHibernate实现ORM 而言基本一致,而对于具体的数据操作,NHibernate会自动生成...同样的需求 ,IbatisNet 的工作量比 NHibernate 要大很多。
4.构建一个让NHibernate知道如何连接数据库的配置文件 5.使用NHibernate的API 第一步:写构建表的SQL 这里我们将使用的是一个非常简单的例子...第四步:为你的数据库产生一个配置文件 我们至今还没有告诉NHibernate 去哪里连接数据库。...最直接的办法是在你的应用程序的配置文件(App.config)里设置一个NHibernate配置节。配置如下: <?xml version=”1.0″ encoding=”utf-8″ ?...在一个应用程序产品里,在你特定环境里,我推荐配置log4net,并为NHibernate设置一定的日志级别。 你还需要配置hibernate.cfg.xml文件: <?...连接的配置信息(如果你愿意,你可以在代码中实现)。
现在的项目中数据访问使用的是NHibernate的一个ORM框架,小弟也是在后期加入项目组,之前对NHibernate就一直没有接触过,所以一直在学习NHibernate,都是一些很基础的一些东西,写出来总结一下...NULL, [Sex] [nvarchar](1) NULL, ) GO 3、NH.Data类库中文件介绍 (1) DBConnect.cfg.xml数据库连接文件 我们根据模板修改一下配置信息和文件输出属性就可以了...,主要就是配置连接字符串。...这个实例我编写了一个辅助类NHibernateHelper 用于创建ISessionFactory并配置ISessionFactory和打开一个新的Session单线程的方法,之后在每个数据操作类可以使用这个辅助类创建...public virtual string Sex { get; set; } } 注意:字段的属性一定要设置为virtual,要不然会报错 (4) 下面我们开始为People实体类进行数据库表映射配置
的非常少,李哥的NHibernate系列(NHibernate之旅)不失为一个经典,对于新手的我们,需要完全掌握还需要很长一段路,对于新手来说,最初的配置是非常头大的一件事情,好在老赵推荐一个开源的框架...Fluent NHibernate,有了它,我们可以完全脱离配置文件,不过博客园中介绍Fluent NHibernate的文章非常少,而且官方文档也还没有完全,所以对于我来说也就一点一点摸索起来,这也激起了我写这个笔记的欲望...这是官方的说明,大体的话也就是用编程的方式进行配置,让你能更好的理解,不需要编写复杂的映射文件,它能完全替换NHibernate的映射文件,让你在映射的时候能使用C#的强类型方式。...,数据库类型和数据库的配置,还有一些NHibernate所需的配置,这里的proxyfactory.factory_class是2.1新加入的,至于用处还不是很了解,大家可以看下李大哥的“NHibernate2.1...使用NHibernate的配置 也就是你可以按照原先的方式进行配置,而读取呢使用Fluent来读取,然后创建SessionFactory,或许你感觉这不是多余了嘛,那是因为还没有讲到Mapping
配置项介绍 在上一篇文章中,我们介绍了一下如何设置NHibernate的基本配置项,但是并未对配置项进行深入。...这一节,将带领大家看一下NHibernate中我们常用的配置,因为配置项有很多,但一大部分通常情况都遇不到使用它的时候。...IConnectionProvider 的实现类 connection.connection_string 数据库连接字符串 connection.connection_string_name 数据库连接字符串的名称,指的是配置在程序的配置文件中...(我记得有update,但文档中没有这个选项) 以上是我们常用的一些配置内容,当然还有更多的配置,我并没有在这里一一讲明,留待以后吧。 4....总结 这是一篇枯燥乏味的说明文,主要介绍了Nhibernate的基本内容。下一章我们来试试,如何创建Nhibernate的映射配置。
NHibernate实践与模式 NHibernate是一款非常优秀的O/R mapping的开源框架,再还没有.net的时候它已经存在于java环境中。...开发环境 Vs.net 2005, NHibernate 1.20(正是版),MyGeneration 1.3。...然后再去创建数据库表,和UI的部分; 我还是按在有数据表的情况下如何用NHibernate作开发 1.用MyGeneration创建实体类和mapping文件选择NHibernate lujan99 1.06...3.接下去网上下载几个通用的类库文件包括配置文件NHibernateSessionManager.cs(用来创建session和管理session), NHibernateSessionModule.cs...(将session绑定到每个http请求上去), hibernate.cfg.xml(配置信息,包括数据库类型,连接字符窜,加载的实体类程序集)。
Photo { get; set; } public virtual Employee Employee { get; set; } } 下面是FluentNHibernate的Mapping配置...关于NHibernate 的one to one标签上的constrained="true",该标签在外表上设置,千万不要在主表上设置。...CLASSROOM_ID,因为我们必须先创建Classroom,然后再创建Class,然后可以在数据库中将CLASS表中的CLASSROOM_ID设置为不允许为空(当然,设置为允许为空也没有问题,这样可以帮助NHibernate...另外,这个配置还存在一个问题,就是对于一个存在的Classroom A,我接下来建立Class X,Class Y,都可以将这些 Class的班级指向A,同时这也是保存成功的。...这其实又带来了另外一个问题,这可能是NHibernate没有考虑到的地方,那就是我们采用的是软删除,也就是说根本不会从数据库删除数据,只是把IS_DELETED置为1。
NHibernate Contrib Best Practice 介绍 NHibernate Contrib(Burrow)是一个轻量级的开发中间件,底层使用Nhibernate 2.0GA(Nhibernate...GenericDAO ,多种数据库的支持是非常透明的-您的代码不需要知道有多个数据库 Burrow GetStarted 创建一个Burrow asp.net项目 添加web.config配置信息...,读取配置和assembly 维护hibernate.cfg.xml 实体数据库位置和实体类的程序集如果需要同时连接多个数据库之需要添加多个配置文件 <section name=
告诉你吧,session是我们只需要一个配置文件就可以随处调用了。这么神奇? Nhibernate带给我们的就是:对于开发者通常的数据持久化相关的编程任务,解放其中的95%!...class name="MyWeb.WebTemp.Model.User,MyWeb.WebTemp.Model" table="Hksj_User" lazy="false"> 这个是配置类的全名称...第四步:创建Nhibernate的配置文件:hibernate.cfg.xml 代码如下: 是配置数据库连接字符串。...第四个问题: 使用和测试你的配置【可以爽一把了!】
NHibernate 使用 SqlQuery 多数情况下, NHibernate 提供的 HQL、 Linq 以及条件查询足够用了, 但是在某些情况下, 需要使用 SqlQuery, 使用 SqlQuery
什么是NHibernate? NHibernate是一个基于.Net,用于关系数据库的对象持久化类库.它是著名的Hibernate的.Net版本....创建NH的配置文件,以告诉NH怎样连接数据库. 5. 使用NH提供的API....步骤4:创建数据库配置文件 目前为止,我们还没有告诉NH到哪儿去找数据库.最直接的方法就是在你程序的配置文件中给NH一个部分,就是这样: <?...驱动,连接到本地的nhibernate数据库,并且使用提供的用户和密码.还会有其他的配置项,你可以参看文档....– 映射文件 æ app.config – 带有Ado.net连接信息的配置文件(你也可以在代码中指定的) æ 一个叫做user的数据库表.
C#可用以解决对象/关系数据库映射的工具有多种,常见的有EF (Entity Framework)、NHibernate、iBATIS等,各自的优缺点及适用场景在此不做讨论,本文只对如何使用NHibernate...NHibernate使用的核心组件。...图1 添加对NHibernate的引用 3....配置NHibernate 文件:hibernate.cfg.xml,位于站点根目录。 <?xml version="1.0" encoding="utf-8"?...创建NHibernate映射文件 Nhibernate使用XML映射文件来映射POCO到数据库对象。虽然在很多案例中这可能是一对一关系,但这并不是必定的。
领取专属 10元无门槛券
手把手带您无忧上云