首页
学习
活动
专区
圈层
工具
发布

Fluent NHibernate之旅二--Entity Mapping

如果你要亲手试验一下,可以先看一下“Fluent NHibernate之旅一”,进行一下数据库和SessionFactory的准备。...对于我这种新手来说,Fluent更适合我,因为我可以用它来进行学习NHibernate。 映射做好了,接下来我们在NHibernate中把映射加到配置中。...当然还有更多的方法,如果大家想了解的话,可以看一下Fluent NHibernate API Document。...,也就是Map()的时候,我想看看Map还有哪些方法,结果就看到了CustomTypeIs() 和 CustomTypeIs() 两个方法,一个使用反射,一个用泛型,强类型,我当然会选择后者咯。...前几天的开篇“Fluent NHibernate之旅一”,反响不是很好,或许大家用NHibernate的真的很少,或许我写的不够好,或许。。。。

1.7K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Fluent NHibernate之旅

    Fluent NHibernate,有了它,我们可以完全脱离配置文件,不过博客园中介绍Fluent NHibernate的文章非常少,而且官方文档也还没有完全,所以对于我来说也就一点一点摸索起来,这也激起了我写这个笔记的欲望...,废话不说了,下面就介绍Fluent NHibernate,大家也一起来体验一下Fluent Nhibernate的快感吧。...本篇内容: 1、初识Fluent NHibernate(简称Fluent) 2、使用NHibernate和Fluent创建ISessionFactory 3、传统方式和Fluent的对比。...4、灵活的Fluent 一、初识Fluent NHibernate(简称Fluent) Fluent NHibernate offers an alternative to NHibernate's...下载地址:http://fluentnhibernate.org/ 二、使用NHibernate和Fluent创建ISessionFactory 准备工作: 1、下载Fluent类库,其中已经包含了NHibernate

    1.6K60

    Fluent NHibernate之旅(三)-- 继承

    经过了“开篇”和“简单映射”两篇文章,相信大家对Fluent NHibernate 有了一定的了解了,FluentNHibernate实际就是对 NHibernate 映射的一定扩展,我们能完全利用强类型...从这一篇开始,我们将使用Fluent NHibernate RC 1.0 版来进行演示,先前的代码,我会另外进行说明 继承 在OOP中,继承作为OO中重要的特性,如果NHibernate没有对它的支持,...public class BookMap : SubclassMap { public BookMap() { DiscriminatorValue("1"...这种方式表结构清晰,而且不会有亢余字段,同时方便扩展,是不错的选择,不过这不是说其他方式没有用,要看你的使用场景。看表结构: ? 这里注意的是,子表的主键不是递增的(废话,呵呵)。...总结 这次说了一下继承的映射方式,其实很早就写好了,正好遇到Fluent NHibernate发布了RC版,所以用了一些时间去学习了下,总的来说,这次升级呢非常好,可能会存在更多的bug,但不影响我们的正常使用

    1.1K80

    Fluent NHibernate之旅(四)-- 关系(上)

    经过了前面三篇的介绍,相信大家对Fluent NHibernate已经有一定的了解了,在我们学习中,Fluent 也已经进入了RTM版本。...这次的版本发布离RC版只有半个月不到,修正了很多bug,同时补充了大量的功能,在每天更新中,也看到了大量的单元测试,我们相信Fluent NHibernate 已经相对稳定成熟了。...Fluent NHibernate之旅系列导航: 一、开篇:ISessionFactory Configuration 二、实体映射:Entity Mapping 三、继承映射:Inheritence...,不是说我们Fluent能简单,只是传统方式的xml看上去不太美观,而Fluent这种代码式方式,更能符合我们Developer的习惯。...映射 Fluent NHibernate 映射代码: public class UserMap : ClassMap { public UserMap() {

    1.7K60

    Fluent NHibernate之旅(四)-- 关系(中)

    Fluent NHibernate之旅系列导航: 一、开篇:ISessionFactory Configuration 二、实体映射:Entity Mapping 三、继承映射:Inheritence...1、一个用户可以拥有多个订单 2、一个订单只能拥有一个用户 对于用户来说,不需要每次都加载订单列表,反之订单可能每次都需要加载用户信息。Let's Go: ?...映射 不得不赞叹一下 Fluent Nhibernate ,有了它,我们的映射一切都变得如此简单,先来看看Model吧,用户的订单列表,对于用户来说,暂时是不需要排序的,所以我们可以使用ISet作为Order...我们在Output中,能看到NHibernate生成的Sql语句,测试也成功,说明我们刚刚是立即加载了Orders属性。...如果您在使用Fluent Nhibernate的时候也遇到了问题,可以及时与我联系或求助于Fluent 的Google Groups。 应“亦续缘”的要求,我把代码整理了下,发上来,便于大家学习。

    1.1K100

    Fluent Nhibernate之旅(五)--利用AutoMapping进行简单开发

    Fluent Nhibernate(以下简称FN)发展到如今,已经相当成熟了,在Nhibernate的书中也相应的推荐了使用FN来进行映射配置,之前写的FN之旅至今还有很多人会来私信我问题,说来惭愧,从...SchemaExport(obj).Create(false, true); } 在这里,我用了Sqlite做为我们的数据库,ORM最大的好处就是我们可以随意的变更我们的数据库类型,不需要考虑其类型,这是我选择...new PersistenceSpecification(session) .CheckProperty(c => c.Id, 1)...new PersistenceSpecification(session) .CheckProperty(c => c.Id, 1)...Fluent Nhibernate确实是个好东西,让我在开发上省去了很多时间,今天虽然介绍了AutoMapping,但我不推荐您在您的项目中使用,用起来没手感(个人感觉),需要约定的东西太多了,对于数据库结构也得按照他的契约来

    1.4K60

    Fluent NHibernate RC 1.0 --升级内容

    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。...Auto Mapping 1、重命名静态切入点: AutoPersistenceModel.MapEntitiesFromAssemblyOf -> AutoMap.AssemblyOf

    95650

    OSPF技术连载22:OSPF 路径选择 O > O IA > N1 > E1 > N2 > E2

    优选路径列表是O > O IA > N1 > E1 > N2 > E2。 路径类型 优先级顺序 区别和特点 区域内 (O) 第一 在同一区域内的路径,基于链路成本选择最短路径。...NSSA Type 1(N1)路径选择适用于这种情况。 类似于E1路径选择,N1路径选择也考虑到了到达NSSA内外部网络的成本。...然而,N1路径选择仅在NSSA内部起作用,确保了在这种混合网络环境中的最优路径选择。...NSSA Type 2 (N2) NSSA Type 2(N2)路径选择与N1路径选择类似,但适用于NSSA区域内部。...在这种情况下,N2路径选择仅考虑区域内链路的成本,不考虑到达NSSA内外部网络的成本。 N2路径选择适用于那些需要在NSSA区域内连接外部网络的情况。

    63941

    JPAHibernate 选择指南——实体关系维护、懒加载与 N+1 问题的权衡

    本文将深入探讨 JPA 与 Hibernate 的适用场景,分析实体关系维护的最佳实践,并提供解决懒加载与 N+1 问题的完整方案。...1 查询问题的系统解决方案4.1 问题机理与识别N+1 查询问题是 ORM 框架中典型的性能反模式,表现为 1 次查询主实体,加上 N 次查询关联实体(N 为主实体数量)。...N+1 问题的产生条件包括:使用懒加载关联、在循环中访问关联数据、未使用适当的抓取策略。典型的例子是查询部门列表后,在循环中访问每个部门的员工列表。...4.2 分层解决方案针对 N+1 问题,应根据场景选择适当的解决方案:JOIN FETCH 策略通过单次查询获取所有需要的数据,适合关联数据量不大且确定需要使用的场景。...监控指标示例:查询执行次数:检测 N+1 问题的关键指标平均响应时间:识别慢查询的重要依据缓存命中率:评估缓存效果的核心指标会话生命周期:发现懒加载异常的有效手段总结JPA 与 Hibernate 的选择及优化是一个需要综合考虑多方面因素的决策过程

    21610

    6个值得收藏的.NET ORM 框架

    在特定场景下,其他 ORM 框架可能因其极致的性能、灵活性或特定功能而成为更优的选择。除了EF,.NET 还有哪些好用的 ORM?...NHibernate:功能巨匠NHibernate 是 Java 世界著名的 Hibernate 框架的 .NET 版本,是 .NET 平台最老牌、最强大的全功能 ORM。...缺点学习曲线陡峭:配置复杂,概念繁多(Session, SessionFactory, XML/Fluent Mappings)。性能开销:相比微型 ORM,其复杂的内部机制带来了额外的性能开销。...维护已在使用 NHibernate 的大型遗留系统。需要二级缓存等高级 ORM 特性的项目。...总结与选择框架类型性能学习曲线核心特点Dapper微型 ORM极高低极致性能,SQL 完全控制NHibernate全功能 ORM中等高功能最强大,配置灵活,成熟稳定Insight.Database微型

    41100

    NHibernate实践与模式

    NHibernate实践与模式 NHibernate是一款非常优秀的O/R mapping的开源框架,再还没有.net的时候它已经存在于java环境中。...开发环境 Vs.net 2005, NHibernate 1.20(正是版),MyGeneration 1.3。...MyGeneration是一款开源代码生成工具,它的模块更新比较快而且相对于一些开源的项目支持的比较多,所以我选它,而没有选择codesmith。...然后再去创建数据库表,和UI的部分; 我还是按在有数据表的情况下如何用NHibernate作开发 1.用MyGeneration创建实体类和mapping文件选择NHibernate lujan99 1.06...这个模 块他提供可以方便实现1-n,n-1,n-n的mapping非常方便使用 2.在项目中加载这些创建好的文件建议加载到一个新的项目比如BusinessModule。

    1.1K40
    领券