首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Fluent NHibernate中,如何映射组件列表?

在Fluent NHibernate中,可以使用ComponentMap方法来映射组件列表。下面是一个示例:

代码语言:csharp
复制
public class ParentEntityMap : ClassMap<ParentEntity>
{
    public ParentEntityMap()
    {
        // 其他属性映射...

        // 映射组件列表
        HasMany(x => x.ChildEntities)
            .Component(childMap =>
            {
                childMap.Map(x => x.ChildProperty1);
                childMap.Map(x => x.ChildProperty2);
                // 其他子属性映射...
            })
            .Table("ChildTable")
            .KeyColumn("ParentId");
    }
}

在上面的示例中,ParentEntity是父实体类,ChildEntity是子实体类。通过HasMany方法和Component方法,可以将子实体类的属性映射为组件列表。在Component方法中,可以使用Map方法来映射子属性。

此外,还可以使用.Table方法指定子实体类对应的数据库表名,使用.KeyColumn方法指定父实体类和子实体类之间的关联键。

关于Fluent NHibernate的更多信息和使用方法,可以参考腾讯云的NHibernate相关产品和文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用Fluent Nhibernate中的Automapping进行OR Mapping映射

由于在项目中使用了NHibernate来作为ORMapping构建数据访问层,那么就必须要配置Object和DataTable的映射。...,我们使用了Fluent NHibernate的Mapping方式代替XML配置。...使用Fluent NHibernate的最大好处是降低了出错的机会,因为Fluent Nhibernate的配置是使用C#来编写,可以智能感知,而且还能编译,不像原始的XML配置,写错了都不知道。...更多的修改意味着更多的风险,为了减少这方面的风险,同时为了减少配置的工作量,所以在最新的项目中采用了Fluent NHibernate中的Automapping。...Type type) { return "TYPE";//指定了SubClass的区分列就是有一个叫做TYPE的列 } } 然后就是关于DiscriminateColumn中的值如何映射成对应的

1.1K10

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

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

734100
  • Fluent NHibernate之旅二--Entity Mapping

    的ClassMap类,然后在构造方法中完成映射方法,就能完成传统方式的映射了。...Map(Expression> expression):与Id类似,对应NHibernate中的property,我这里只是简单的映射,还有很多特性,在今后的教程中会慢慢使用...对于我这种新手来说,Fluent更适合我,因为我可以用它来进行学习NHibernate。 映射做好了,接下来我们在NHibernate中把映射加到配置中。...二、使用自定义类型映射实体属性 NHibernate支持我们用自定义的类型来映射属性,但因为我是初学,我真的不会,当然我在网上找到了相关的资料,在此也不多说,就说说Fluent的方式吧,在我映射自定义属性的时候...总结 今天介绍了如何映射简单的实体,但很多时候这都是理想的数据设计,还有更多复杂,不可预计的数据设计,这时候我们Fluent能做到吗?

    1K90

    Fluent NHibernate RC 1.0 --升级内容

    Fluent NHiberante(FNT) RC 1.0 已经在上个星期发布了,其中很多东西被废弃,有些方法改进,还有一些命名更贴切,虽说不是很完美,但已经做的非常完善了,如果大家在使用中,发现bug...Fluent NHibernate Release Notes 1.0 : http://wiki.fluentnhibernate.org/Release_notes_1.0 FNT在映射的时候,分为...Fluent Mapping(手动)和Auto Mapping(自动)两种方式,我在我的“Fluent系列”中一直使用的是手动方式,我觉得相对应的好控制,而且也让我同时能更好的学习NHibernate。...这一次他们完全丢弃了SetAttribute方法,完全依赖Fluent的方式来进行实体映射,所以很多特性我也不知道如何来映射,不过这时候你还是可以区GoogleGroups求助一下,强烈建议大家把它收藏一下吧...3、分开SubClass映射:在RC版以前,不管是SubClass还是JoinSubClass,我们都只需要映射在父类中就可以了,但这一做法在RC版中已经不再提倡,我们要分开映射,我相信这个做法是好的,

    65650

    连贯NHibernate 1.0正式发布

    连贯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

    65070

    Fluent NHibernate之旅

    ORM大家都非常熟悉了吧,我相信也有很多朋友正在用自己或者一些公开的框架,而最常用而且强大的,非Hibernate了(Net中为NHibernate),网上的文档非常多,不过在博客园中,介绍NHibernate...这是官方的说明,大体的话也就是用编程的方式进行配置,让你能更好的理解,不需要编写复杂的映射文件,它能完全替换NHibernate的映射文件,让你在映射的时候能使用C#的强类型方式。...在NHibernate中,ISession是操作数据的核心,我们需要通过SessionFactory来建造ISession来进行数据的交互。...SessionFactory中反映了数据库映射关系,我们来看下配置: nhibernate-configuration-2.2">...下面我们在代码中创建一个SessionFactory,NHibernate建议我们在一个应用程序中使用一个数据库一个SessionFactory,这里我们用单数据库,代码如下: public static

    1.1K60

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

    经过了前面三篇的介绍,相信大家对Fluent NHibernate已经有一定的了解了,在我们学习中,Fluent 也已经进入了RTM版本。...这次的版本发布离RC版只有半个月不到,修正了很多bug,同时补充了大量的功能,在每天更新中,也看到了大量的单元测试,我们相信Fluent NHibernate 已经相对稳定成熟了。...Fluent NHibernate之旅系列导航: 一、开篇:ISessionFactory Configuration 二、实体映射:Entity Mapping 三、继承映射:Inheritence...Mapping 今天我们将说一下ORM中的R映射,我们现在的数据库大多都是关系型数据库了,所以可以说关系在我们数据库设计中也是非常重要的部分,NHibernate也非常重视这一块,但在传统方式中,配置就比较麻烦...映射 Fluent NHibernate 映射代码: public class UserMap : ClassMap { public UserMap() {

    1.2K60

    Fluent NHibernate之旅(三)-- 继承

    经过了“开篇”和“简单映射”两篇文章,相信大家对Fluent NHibernate 有了一定的了解了,FluentNHibernate实际就是对 NHibernate 映射的一定扩展,我们能完全利用强类型...从这一篇开始,我们将使用Fluent NHibernate RC 1.0 版来进行演示,先前的代码,我会另外进行说明 继承 在OOP中,继承作为OO中重要的特性,如果NHibernate没有对它的支持,...NHibernate中,一定看到过了,其实就是把父类、子类的所有属性放到一个表中,这样做的好处就是我们不需要建立其他表,一张表格全搞定,但缺点也显而易见,在属性少的情况下或许没有什么,但是多了以后,我们的维护...在子类中,我们必须制定对应的标识符值,这里又出现败笔了,只能设定string类型,My God,变相的SetAttribute,我觉得这个已经脱离了Fluent的称号了(在RC升级介绍中已经说明)。...总结 这次说了一下继承的映射方式,其实很早就写好了,正好遇到Fluent NHibernate发布了RC版,所以用了一些时间去学习了下,总的来说,这次升级呢非常好,可能会存在更多的bug,但不影响我们的正常使用

    70080

    Fluent NHibernate 之旅 导航篇

    ORM大家都非常熟悉了吧,我相信也有很多朋友正在用自己或者一些公开的框架,而最常用而且强大的,非Hibernate了(Net中为NHibernate),网上的文档非常多,不过在博客园中,介绍NHibernate...,废话不说了,下面就介绍Fluent NHibernate,大家也一起来体验一下Fluent Nhibernate的快感吧。...导航: [原创]Fluent NHibernate之旅开篇 [原创]Fluent NHibernate之旅二--Entity Mapping [原创]Fluent NHibernate之旅(三)—...继承 [原创]Fluent NHibernate之旅(四)-- 关系(上) [原创]Fluent NHibernate之旅(四)-- 关系(中) [原创]Fluent NHibernate之旅(四...)-- 关系(下) [原创]Fluent Nhibernate之旅(五)--利用AutoMapping进行简单开发 相关文章: Fluent NHibernate RC 1.0 --升级内容 相关站点

    68370

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

    Fluent Nhibernate(以下简称FN)发展到如今,已经相当成熟了,在Nhibernate的书中也相应的推荐了使用FN来进行映射配置,之前写的FN之旅至今还有很多人会来私信我问题,说来惭愧,从...Mapping 五、一对多映射:One-to-Many Mapping 六、Fluent NHibernate之旅(四)-- 关系(下) 安装 现在在项目中使用FN很方便,使用Nuget管理就可以了...在NuGet下载FluentNhibernate后,会自动下载安装Nhibernate及Iesi。...刚我们的测试报错,是因为Employee中的Name是个UserName类,Nhibernate的Component,我在FN之旅四(上)中有介绍到,默认情况下映射根据字段映射到数据库的,所以上面的测试会报错...Fluent Nhibernate确实是个好东西,让我在开发上省去了很多时间,今天虽然介绍了AutoMapping,但我不推荐您在您的项目中使用,用起来没手感(个人感觉),需要约定的东西太多了,对于数据库结构也得按照他的契约来

    97760

    在 Vue 中,子组件如何向父组件传递数据?

    在 Vue 中,子组件向父组件传递数据可以通过自定义事件来实现。 下面是一种常见的方法: 在子组件中,使用 $emit 方法触发一个自定义事件,并传递要传递给父组件的数据作为参数。...$emit('custom-event', data); } } } 子组件中的 sendDataToParent 方法通过 $emit 触发了一个名为 'custom-event...在父组件中,使用 v-on 或简写的 @ 语法监听子组件触发的自定义事件,并在相应的处理函数中接收子组件传递的数据。...@custom-event 监听子组件触发的自定义事件,并在 handleCustomEvent 方法中接收子组件传递的数据。...父组件将接收到的数据设置为 receivedData 属性,然后可以在模板中进行显示或进一步处理。

    61530

    近期开发中遇到的问题总结

    最近准备把后台管理系统重新设计开发下,使用了bootstrap,在网上找了个漂亮的后台模板:sb2-admin,在使用中遇到了不少问题,总结下,以免以后忘记。...1、EF5利用NuGet升级到EF6后,一些Attribute冲突[未解决]:       我原先的数据驱动使用的是Fluent Nhibernate +Nhibernate+MSSQL2005...FN目前还不支持存储过程(点击查看官方),没有办法,只能利用Fluent Configuration和HBM Configuration混合的映射方式。...3、在使用Web Api的时候,返回类型序列化冲突: 因为用的新模板很炫,想把数据请求都使用Web Api来进行,但在使用的时候,返回的json数据中,都返回了k_BackingField...,这下傻了,查看了文档,说在属性或者字段标记中,使用DataContactAttribute和DataMemberAttribute,试了以后,发觉还是不行。

    870100

    在 PySpark 中,如何将 Python 的列表转换为 RDD?

    在 PySpark 中,可以使用SparkContext的parallelize方法将 Python 的列表转换为 RDD(弹性分布式数据集)。...以下是一个示例代码,展示了如何将 Python 列表转换为 RDD:from pyspark import SparkContext# 创建 SparkContextsc = SparkContext.getOrCreate...()# 定义一个 Python 列表data_list = [1, 2, 3, 4, 5]# 将 Python 列表转换为 RDDrdd = sc.parallelize(data_list)# 打印...RDD 的内容print(rdd.collect())在这个示例中,我们首先创建了一个SparkContext对象,然后定义了一个 Python 列表data_list。...接着,使用SparkContext的parallelize方法将这个列表转换为 RDD,并存储在变量rdd中。最后,使用collect方法将 RDD 的内容收集到驱动程序并打印出来。

    6610

    基于.NET平台常用的框架整理

    持续更新 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到...Nhibernate:面向.NET环境的轻量级的ORM框架。 SqlMapper.cs:用于小项目的通用的C#数据库访问类。...AutoMapper:流行的对象映射框架,可减少大量硬编码,很小巧灵活,性能表现也可接受。 SubSonic:优秀的开源的ORM映射框架,同时提供符合自身需要的代码生成器。...ExposedObject:在类的外部通过动态语言dynamic的方式访问私有成员。 PrivateObject:微软单元测试框架中便捷在外部调用类内部私有成员的一个类。...数据验证组件整理 FluentValidation for .NET:基于LINQ表达式方法链Fluent接口验证组件。

    3.1K20
    领券