1、EF5利用NuGet升级到EF6后,一些Attribute冲突[未解决]: 我原先的数据驱动使用的是Fluent Nhibernate +Nhibernate+MSSQL2005...“System.ComponentModel.DataAnnotations” 这个命名空间同时存在于2个dll中,原先我的想法很简单,我不引用就好了,可删除引用后,还是提示冲突。...不支持存储过程 一直以为没有使用FN进行存储过程的操作,这次因为后台首页想统计下数据,就利用了存储过程,但在使用中却发现FN目前还不支持存储过程(点击查看官方),没有办法,只能利用Fluent...> nhibernate-mapping-2.2" assembly="Travel.Domain" namespace="Bus.Travel...NHibernate的方式进行使用了。
如果你要体验NHibernate的强大,首先你就要学会配置,包括SessionFactory和Mapping的配置。今天跟上一篇一样,会使用传统方式和 NHibernate 进行讲解。...我们先写Entity Model,无论传统方式还是Fluent,都需要这个Model。...对于我这种新手来说,Fluent更适合我,因为我可以用它来进行学习NHibernate。 映射做好了,接下来我们在NHibernate中把映射加到配置中。...这个答案我也不知道,至少我在解决的问题的时候,觉得Fluent方式比传统方式要方便一些,至少我们测试的时候,我不需要把映射文件,配置文件等重新到复制到测试项目中了,呵呵。...前几天的开篇“Fluent NHibernate之旅一”,反响不是很好,或许大家用NHibernate的真的很少,或许我写的不够好,或许。。。。
连贯NHibernate(Fluent NHibernate) 是通过编程方式而不是使用XML配置文件创建NHibernate映射的API。...它的目标是在项目中运用NHibernate时减少所遇到的困难,提供更好的可读性、可测试性和编译时的安全性。...连贯NHibernate降低了复杂性,并进一步加强了约定胜于配置的原则,即任何一个映射的最常用设置是默认的。 除了编译时的检查外连贯NHibernate还为你的映射的测试提供了一个健壮的API。...Wiki上有教程告诉怎么用,园子里的inday的几篇文章可以先看一下: [原创]Fluent NHibernate之旅 [原创]Fluent NHibernate之旅二--Entity Mapping...[原创]Fluent NHibernate之旅(三)—继承 codeproject上也有一篇针对RC的文章:Fluent NHibernate and Linq2NHibernate – Demo Project
Fluent Nhibernate(以下简称FN)发展到如今,已经相当成熟了,在Nhibernate的书中也相应的推荐了使用FN来进行映射配置,之前写的FN之旅至今还有很多人会来私信我问题,说来惭愧,从...Entity Mapping 三、继承映射:Inheritence Mapping 四、一对一映射:One-to-One Mapping 五、一对多映射:One-to-Many Mapping 六、Fluent...在NuGet下载FluentNhibernate后,会自动下载安装Nhibernate及Iesi。...这个其实就是AutoMapping在处理映射的时候,都是按照一定的规则去映射的,细心的朋友可能发现,我们的索引字段的字段名都是Id,这就是AutoMapping的约定,我们也可以自己来进行配置。...Fluent Nhibernate确实是个好东西,让我在开发上省去了很多时间,今天虽然介绍了AutoMapping,但我不推荐您在您的项目中使用,用起来没手感(个人感觉),需要约定的东西太多了,对于数据库结构也得按照他的契约来
经过了前面三篇的介绍,相信大家对Fluent NHibernate已经有一定的了解了,在我们学习中,Fluent 也已经进入了RTM版本。...这次的版本发布离RC版只有半个月不到,修正了很多bug,同时补充了大量的功能,在每天更新中,也看到了大量的单元测试,我们相信Fluent NHibernate 已经相对稳定成熟了。...Fluent NHibernate之旅系列导航: 一、开篇:ISessionFactory Configuration 二、实体映射:Entity Mapping 三、继承映射:Inheritence...Mapping 今天我们将说一下ORM中的R映射,我们现在的数据库大多都是关系型数据库了,所以可以说关系在我们数据库设计中也是非常重要的部分,NHibernate也非常重视这一块,但在传统方式中,配置就比较麻烦...NHibernate是不支持one-to-one的延迟加载的,我也不知道为什么,但我们可以婉转的进行延迟加载,老赵已经在他的文章“NHibernate中一对一关联的延迟加载”中提出了解决方案,大家可以看一下
的非常少,李哥的NHibernate系列(NHibernate之旅)不失为一个经典,对于新手的我们,需要完全掌握还需要很长一段路,对于新手来说,最初的配置是非常头大的一件事情,好在老赵推荐一个开源的框架...Fluent NHibernate,有了它,我们可以完全脱离配置文件,不过博客园中介绍Fluent NHibernate的文章非常少,而且官方文档也还没有完全,所以对于我来说也就一点一点摸索起来,这也激起了我写这个笔记的欲望...,废话不说了,下面就介绍Fluent NHibernate,大家也一起来体验一下Fluent Nhibernate的快感吧。...导航: [原创]Fluent NHibernate之旅开篇 [原创]Fluent NHibernate之旅二--Entity Mapping [原创]Fluent NHibernate之旅(三)—...继承 [原创]Fluent NHibernate之旅(四)-- 关系(上) [原创]Fluent NHibernate之旅(四)-- 关系(中) [原创]Fluent NHibernate之旅(四
由于在项目中使用了NHibernate来作为ORMapping构建数据访问层,那么就必须要配置Object和DataTable的映射。...,我们使用了Fluent NHibernate的Mapping方式代替XML配置。...使用Fluent NHibernate的最大好处是降低了出错的机会,因为Fluent Nhibernate的配置是使用C#来编写,可以智能感知,而且还能编译,不像原始的XML配置,写错了都不知道。...NHibernate的配置方式仍然是需要编写Mapping代码的,也就意味着,如果我更改class或者DataTable的时候,还要对应的更改该Mapping文件。...更多的修改意味着更多的风险,为了减少这方面的风险,同时为了减少配置的工作量,所以在最新的项目中采用了Fluent NHibernate中的Automapping。
这个项目的核心是IOC容器,包括Ninject, StructureMap, Unity ,Windsor和Autofac。...如果你和我一样喜欢使用IOC,这个库值得你关注,这些IOC我都用过了,现在比较喜欢使用Autofac。...Action Filter Fluent Registration:支持构造函数方式注入流贯的注册你的Action Filter。...,还支持EF Code First 和 Fluent NHibernate....这个库的实际应用的例子可以看这个项目Shrinkr,作者在博客上有几篇文章介绍: MvcExtensions – Bootstrapping Wednesday, May 12, 2010 Announcing
Fluent NHibernate Release Notes 1.0 : http://wiki.fluentnhibernate.org/Release_notes_1.0 FNT在映射的时候,分为...Fluent Mapping(手动)和Auto Mapping(自动)两种方式,我在我的“Fluent系列”中一直使用的是手动方式,我觉得相对应的好控制,而且也让我同时能更好的学习NHibernate。...Fluent Mapping 1、修改一些方法名:把一些繁琐的方法名改的相对的简单而不失其含义。...2、丢弃了SetAttribute方法:因为前几个版本的FNT还不够完善,很多NHibernate的Attribute都没有提供支持,所以作者留了这一个方法,以便开发者自定义一些attribute。...,如果有这个方法的话,它会映射成SubClass标签,如果没有,则会映射成Join-SubClass标签。
经过了“开篇”和“简单映射”两篇文章,相信大家对Fluent NHibernate 有了一定的了解了,FluentNHibernate实际就是对 NHibernate 映射的一定扩展,我们能完全利用强类型...、泛型、Lambde表达式等等Vs、Framework等特性简单完成映射工作,同时也能让我们学习NHibernate的映射方式,一举夺得,这么好玩的东东,有理由不继续完成这个系列吗?...从这一篇开始,我们将使用Fluent NHibernate RC 1.0 版来进行演示,先前的代码,我会另外进行说明 继承 在OOP中,继承作为OO中重要的特性,如果NHibernate没有对它的支持,...在子类中,我们必须制定对应的标识符值,这里又出现败笔了,只能设定string类型,My God,变相的SetAttribute,我觉得这个已经脱离了Fluent的称号了(在RC升级介绍中已经说明)。...总结 这次说了一下继承的映射方式,其实很早就写好了,正好遇到Fluent NHibernate发布了RC版,所以用了一些时间去学习了下,总的来说,这次升级呢非常好,可能会存在更多的bug,但不影响我们的正常使用
创建NH的配置文件,以告诉NH怎样连接数据库. 5. 使用NH提供的API....步骤1:创建数据库表 我们正在做的是一个非常简单的NH示例.在这个例子里面,我们实现一个基本的用户管理子系统.我们将会使用一个user表(sql server 2000): use NHibernate....hibernate用户会注意到,在type属性值里,我们给出了长度值,这是因为ADO.NET需要这样做....步骤4:创建数据库配置文件 目前为止,我们还没有告诉NH到哪儿去找数据库.最直接的方法就是在你程序的配置文件中给NH一个部分,就是这样: nhibernate数据库,并且使用提供的用户和密码.还会有其他的配置项,你可以参看文档.
Nhibernate session管理。以前用过Hibernate,由于当时我不是主要负责持久层,所以对Hibernate不是很熟悉,但记得当时session管理没有什么问题。...但是NHibernate就出现了一个问题。如果每次进行持久化操作都open一次session然后close一次session,那么将不能使用lazy这个机制。...但使用Nhibernate的绑定时,出错,由于对NHibernate不熟悉,所以就完全不知道怎么解决。最后只能考虑结合第一个方法来创新一下。...using System; using System.Web; using NHibernate.Context; using NHibernate; using NHibernate.Cfg; namespace... context.Items.Remove(sessionKey); } } } 2.要在Web.config中加入节点,使得web初始化的时候,初始化上边这个
Fluent NHibernate,有了它,我们可以完全脱离配置文件,不过博客园中介绍Fluent NHibernate的文章非常少,而且官方文档也还没有完全,所以对于我来说也就一点一点摸索起来,这也激起了我写这个笔记的欲望...4、灵活的Fluent 一、初识Fluent NHibernate(简称Fluent) Fluent NHibernate offers an alternative to NHibernate's...2、下载NHibernate类库,虽然Fluent已经有了最新版本,但我们还需要Proxy的Dll,这里我们使用NHibernate.ByteCode.Castle这个程序集。...使用NHibernate的配置 也就是你可以按照原先的方式进行配置,而读取呢使用Fluent来读取,然后创建SessionFactory,或许你感觉这不是多余了嘛,那是因为还没有讲到Mapping...原本打算把Fluent学习的方法说一下,后来一看,必须要先说Fluent的Mapping才能说到这个,所以暂时先不说了,等到下一章映射的部分再一起来说。
前言 上一篇《C# 数据操作系列 - 11 NHibernate 配置和结构介绍》 介绍了Nhibernate里的配置内容。这一篇将带领大家了解一下如何使用NHIbernate。...之前提到NHibernate继承了Hibernate的一些传统:使用XML文件进行配置,这一点也是备受争议。...不过,有社区爱好者开发了一个名为《Fluent NHibernate》的项目,用来支持NHibernate的流式配置。...,默认情况从Property 中读取 default-lazy:可选的,默认是true,是否启动延迟加载 1.2 class的配置 一般情况下,class节点只需要指定name和table就可以了。...中,多对一的配置是在一的一端,表示该类有一个外键导航。
今天抛开 Fluent NHibernate 不谈,我们来谈谈 Asp.Net MVC ,在MVC的View中,我们经常会使用HtmlHelper来生成各种html代码(可能描述不太清楚看代码吧,呵呵)...我们使用上面的代码能生成一个没有值的单行文本框,我们还可以使用: 给这个文本框加值...随便说个例子,比如你要添加一个产品,可能它会有几十个属性,意味着你要写几十个Html.TextBox(属性值) (这里可以是其他控件),其实也没有什么,不过真的很不爽,可能我习惯了 Fluent NHibernate..."expression Argument is Error"); } return memberExpression.Member.Name; } 这里的MemberName就是获取这个表达式树的
NHibernate 代码映射实体类 关于代码映射 NHibernate 3.2 自带了代码映射机制, 作为 xml 映射之外的一种映射方式, 由于推出的时间比较晚, 所以资料相对比较少, 而且与社区版的...Fluent Mapping 和 Attribute Mapping 不同, 有其独特的设计风格。...rel.ManyToMany(map => { map.Class(typeof(Store)); map.Column("store_id"); }) ); 将映射添加到配置...通过下面的代码将上面的映射添加到配置: var config = new Configuration(); config.Configure("MySql.cfg.xml"); var mapper...Attribute Mapping 相比, 对原来的 POCO 实体类没有污染 (Attribute) ; NHibernate 自带, 可以说是一等公民, 而 Fluent Mapping 是第三方维护的
我们需要一种方式去让NHibernate知道如何从一个映射到另一个。这个任务依赖于映射文件来完成。...在这个例子里我们从装配件(最后编译的DLL文件名称)NHibernate.Examples 装载类NHibernate.Examples.QuickStart.User 。...第四步:为你的数据库产生一个配置文件 我们至今还没有告诉NHibernate 去哪里连接数据库。...最直接的办法是在你的应用程序的配置文件(App.config)里设置一个NHibernate配置节。配置如下: 配置log4net,并为NHibernate设置一定的日志级别。 你还需要配置hibernate.cfg.xml文件: <?
我推断,Nherbinate是读这个配置文件,然后到这个程序集里,反射查询那些poco对象。 最后,nhibernate-configuration-2.2这句话我想了很久要不要改成4.0。...结语 这是一场Nhibernate探索之旅,结果是非常顺利的配置成功了。共耗时2小时。...为什么说是探索之旅呢,因为,我也是首次配置Nhibernate,我平常更多的是使用Entity Framework。 文中使用了一些推断,猜测的词语。那是因为,真的是在推断的。...我并不清楚那几个点的原理和含义,因为我没看Nhibernate的原代码。 虽然本文是讲述,配置Nhibernate;但我更想讲述的是,面对未知的框架入手学习和使用的方法。...我描述了自身一步一步配置Nhibernate的路径,我觉得还算高效,大家也可以效仿,用来学习陌生框架。 当然不必太追求速度,因为每个人的基础不一样。我比较熟悉Entity Framework。
NHibernate 缓存 NHibernate 支持两种级别的缓存, 即一级缓存以及二级缓存。...(0)] 1, Beverages second get category 1 1, Beverages 从输出可以看到, 只有第一次调用 Get 方法加载实体类时, 有 sql 输出, 从数据库取出了数据...NHibernate.Caches.SharedCache NHibernate.Caches.SysCache NHibernate.Caches.SysCache2 NHibernate.Caches.Velocity...也可以在实体类的 hbm 映射文件中配置使用二级缓存, 不过在 hibernate.cfg.xml 文件中统一配置是推荐的做法。...[Categories] this_ 二级缓存选项 NHibernate 二级有几个配置选项, 他们分别是: 实体类以及集合二级缓存配置选项 指定类: <class-cache class="类名称"
领取专属 10元无门槛券
手把手带您无忧上云