问题标签 [fluent-nhibernate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Fluent NHibernate 多对多
我正在使用 Fluent NHibernate,并且在与我的一个类建立多对多关系时遇到了一些问题。这可能是一个愚蠢的错误,但我一直在努力让它工作。无论如何,我有几个具有多对多关系的类。
映射看起来像这样
人: ...
团体:...
当我运行我的集成测试时,基本上我正在创建一个新的人和组。将组添加到 Person.GroupsOwned。如果我从存储库中取回 Person 对象,则 GroupsOwned 等于初始组,但是,如果我检查 Group.Admins 上的计数,则当我取回组时,计数为 0。Join 表具有 GroupID 和PersonID 保存在其中。
感谢您提供的任何建议。
nhibernate - NHibernate 在单独的程序集中加入了子类
我有以下解决方案项目结构:
应用程序核心实体
Application.Xtend.CustomerName.Entities
在核心项目中,我有一个实体客户拒绝。在 XTend 项目中,我定义了一个名为xCustomer的子类 Customer 的实体(因为此时缺少更好的名称......)。
这里的想法是我们的应用程序中有一个核心域模型。然后,客户可以创建一个新组件,其中包含对我们核心模型的扩展。当扩展程序集存在时,智能IRepository类将返回核心类的子类。
我试图在NHibernate中映射这种关系。使用Fluent NHibernate我能够生成这个映射:
但是 NHib 抛出以下错误:
NHibernate.MappingException:持久类 Application.Entites.xCustomer,找不到 Application.Core.Entites ---> System.TypeLoadException:无法从程序集“Application.Core.Entites”中加载类型“Application.Entites.xCustomer”,版本 = 1.0 .0.0,文化=中性,PublicKeyToken=null'..
这很有意义 xCustomer 没有在核心库中定义。
是否可以像这样跨越不同的程序集?我是不是错误地解决了这个问题?
c# - Fluent-NHibernate 是否支持映射到过程?
我一直想知道是否可以让 Fluent-NHibernate 与已经存在的存储过程进行通信,并将结果集的映射分配给我自己的域对象。
Fluent-NHibernate 也可以直接执行程序而不返回结果集吗?
基本上,我一直在考虑使用 Fluent-NHibernate 将过时的 TypedDataSet 模型替换为可以从 DAL 返回简单对象的域驱动设计的含义。如果 Fluent-NHibernate 不能轻松地与 SP 一起工作,我想我最有可能拥有一个组合 DAL,它可以利用 FNH 进行简单的 CRUD 操作,同时让复杂的过程由 Enterprise Library 管理。虽然我认为如果 FNH 不能很好地与 SP 配合使用,那么拥有 2 个竞争 DAL 并不是最佳选择,但我很想听听除了同时使用 EntLib 和 FNH 之外的任何其他想法。
c# - Fluent NHibernate - 如何一对一映射子类?
假设我有三个班级。实例化 A 是有效的,但也有特殊情况 B 和 D 是 A 的子类,增加了额外的信息。
我将如何在(流利的)NHibernate 中为此映射文件?
我尝试了以下方法,但它根本不起作用:
nhibernate - Fluent NHibernate:如何创建一对多的双向映射?
基本问题:如何在 Fluent NHibernate 中创建双向一对多映射?
细节:
我有一个有很多孩子的父对象。在我的情况下,孩子没有父母是没有意义的,所以在数据库中,我希望父母的外键有 NOT NULL 约束。我正在从 Fluent NHibernate 映射自动生成我的数据库。
我有一个父母有很多像这样的子对象:
这是我开始的映射:
在 Detail 表中,Summary_id 应该为 Not Null,因为在我的情况下,没有附加到摘要对象的 Detail 对象是没有意义的。但是,仅使用 HasMany() 映射会使 Summary_id 外键为空。
我在 NHibernate 文档(http://www.hibernate.org/hib_docs/nhibernate/html/collections.html)中发现“如果需要父级,请使用双向一对多关联”。
那么如何在 Fluent NHibernate 中创建双向一对多映射呢?
nhibernate - NHibernate:使用 Fluent NHibernate 处理中间表的最佳方式?
您将如何在 Fluent NHibernate 中映射以下内容?
请参阅“18.3. 客户/订单/产品”
http://www.hibernate.org/hib_docs/nhibernate/html/example-mappings.html
nhibernate - 结合 .hbm.xml 和 Fluent NHibernate 时出现奇怪的异常 - 有什么想法吗?
所以我根据需要转换我的映射文件(进行更改时,转换为映射)。像这样配置 NHibernate 时的任何:
并运行我的网络应用程序,我得到以下异常:
但是,我所有的集成测试都按预期工作。有任何想法吗?
nhibernate - Fluent NHibernate 的默认行为是延迟加载 HasMany收藏?
当我设置流利的映射时,集合的默认值是什么?我需要将它们显式设置为延迟加载,还是默认设置?
c# - Fluent NHibernate, joined-subclass mapping
I'm trying to map a joined-subclass scenario using Fluent NHibernate. I have a class Entity defined in the namespace Core, and a class SubClass : Entity in the namespace SomeModule
Now I obviously don't want class Entity to know about its derived types, the SomeModules namespace references Core - not the other way around.
All the examples I've been able to find use something like:
This simply won't work in my situation - I need something akin to the NHibernate xml mapping:
Has anyone achieved this with Fluent NHibernate?
c# - 这种映射可以用(流利的)NHibernate 完成吗?
我有一个事件表,其目标是存储网站用户所做的操作。一个动作基本上改变或在表 X 中创建一个新行。这将允许我存储用户完成的所有动作的历史记录。因此,事件包含:
- 主键列
- 描述事件的文本(例如:“发表评论”)
- 如果需要,一个鉴别器列
- 另一个表 A 的外键列
- 另一个表 B 的外键列
- ……
- 另一个表的外键列 N
Events 表中的一行将只设置一个外键列,所有其他列都将为空(因此它们都可以为空)。该表的行为类似于事件所涉及的实际表的间接表。我不知道是否需要鉴别器,因为所有信息都包含在外键列中。表 A 到 N 可以是任何东西。如果需要,它们的域模型类可以有一个公共接口(IEventRecordable)。
我的问题是:Events 表和 Event 类之间是否可以映射?使用流利的 nhibernate 是否特别可行?可以不用创建很多 Event 的派生类(我不想创建那么多空的子类)就可以做到吗?理想情况下,Event 类如下所示:
领域模型类中的很多类都可以实现 IEventRecordable(主要是一个空接口)。它可以是 User 表或 BlogComment 表...
谢谢