问题标签 [fluent-nhibernate-mapping]

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.

0 投票
1 回答
1302 浏览

nhibernate - 流利的 NHibernate 尝试使用每个子类的表来映射子类的子类

我正在构建一个具有大量继承的应用程序,并且有一部分存在类 A、B 和 C:

A级

B类:A

C类:B

我将子类映射实现为 B 类的每个子类的表样式,如下所示:

效果很好。但是,当我想按如下方式实现 C 时:

它导致错误

我浏览了 Hibernate/NHibernate 论坛,但找不到这个问题的答案。

0 投票
2 回答
1032 浏览

c# - Fluent Nhibernate 外键映射

我有桌子:

玩家
ID:int - 主键
名称:字符串

BowlerType
Id:int-primarykey
描述:字符串

PlayerBowlerType
PlayerId : int not null 外键引用 Player.Id
BowlerTypeId : int not null 外键引用 BowlerType.Id

玩家可以确认多种保龄球类型。这是一些示例数据

玩家
1 | 彼得
2 | 约翰

BowlerType
6 | 慢
7 | 快速地

PlayerBowlerType
1 | 6
1 | 7
2 | 7

0 投票
1 回答
2578 浏览

vb.net - 如何告诉 Fluent NHibernate 在不自动映射的情况下忽略特定属性?

我正在使用 Fluent NHibernate 来绘制现有数据库。出于这个原因 - 自动映射不是我的选择。

我如何告诉 NHibernate 不要映射某些属性?其中很多是只读的,其他的不需要因为其他原因被持久化。

我在 VB.Net 中写这个。

我收到典型的错误消息:“以下类型可能不能用作代理......应该是'公共/受保护的虚拟'或'受保护的内部虚拟'”

我故意不让我的对象可覆盖(相当于 C# 中的虚拟),因为我不希望 NHibernate 接触它们。

我怎样才能做到这一点?

0 投票
1 回答
92 浏览

fluent-nhibernate - 流利 - 与身份上的一个孩子的关系,与复合键上的另一个孩子的关系

所以,我有一个Invoice像这样的对象:

然后,我有一个这样的发票行项目

最后,发票付款

问题是,在我的底层架构中InvoicePayment,我有InvoiceNumberSiteId(到Site对象)和CustomerId(到Customer对象)。

在 InvoiceLineItem 中,我将 InvoiceId 链接回Invoice.

因此,我的 Invoice 映射如下所示:

订单项映射

最后是我的发票付款映射

所以,事实上,我收到了一个错误

外键 (FKE9F746C567E71B3F:InvoiceLineItems [InvoiceId])) 的列数必须与引用的主键 (InvoiceView [SiteId, CustomerId, InvoiceNumber]) 相同

如何调整我的映射,以便加入复合 ID 上的发票付款和身份列上的行项目?

0 投票
2 回答
6049 浏览

class - 使用 Fluent NHibernate 设置类映射

我是使用 NHibernate 的新手,我很难在网上找到关于如何在不使用 XML 进行映射的情况下为存储过程创建 ClassMap 的清晰示例。我最近使用 Fluent 接口完成了这项工作,并想分享我学到的东西。

有问题的存储过程返回一个像这样的对象:

那么,如何创建 NHibernate 用来将存储过程的结果映射到该对象的 ClassMap?

0 投票
1 回答
230 浏览

nhibernate - 切换到 NHibernate 3.2 后的公式

我在 NHibernate 3.1 中使用这个公式:

但切换到 NHibernate 3.2 后收到此问题:

不明确的列名结构

0 投票
2 回答
694 浏览

vb.net - Fluent NHibernate 重复列

我有一些多余的主键问题。

我有一个包含许多报告的项目。我已将它们映射如下所示。我可以做到Session.QueryOver(Of Item).List,并且没有生成额外的列。我也可以这样做Session.QueryOver(Of Report).List,并且没有生成额外的列。

但是,一旦我尝试遍历从 Item 到 Reports 的关系,就会得到如下所示的 SQL 查询。谁能告诉我为什么?提前致谢!

项目映射:

报告映射:

SQL 结果:

0 投票
1 回答
3793 浏览

c# - Fluent Nhibernate mapping to join by two non primary key columns

I was wondering is there a way to join two tables with two non primary key columns without creating a view? I have a table called 'Make' with columns of 'Name' and 'Year' that I want to join with another table called 'Style' with columns 'MakeName' and 'MakeYear'. One 'Make' can have many 'Style'. Here are the entities that I have created so far:

Also these are the class maps I have so far:

Thanks!

0 投票
1 回答
3278 浏览

nhibernate - Fluent nHibernate:不支持的映射类型

我正在设置一个新的解决方案来映射从 Access 数据库导入的 SQL 数据。自动映射对我定义的实体可以正常工作,但我需要能够使用 Fluent 映射类型来授予对 .NotFound.Ignore 扩展的访问权限。

我在另一个项目(我认为!)中使用了完全相同的语法,效果很好。我是否犯了一个男生错误导致“不支持的映射类型'IT.Classes.Entities.Admin'”?任何帮助深表感谢。

DDL:

实体:

映射:

使用 FluentNHibernate.Mapping;使用 IT.Classes.Entity;

会话工厂:

编辑

我想我会导出自动映射以查看它们是否会突出显示我的流利映射中的问题,但它们似乎是正确的:

编辑 2

完整的堆栈跟踪。注意潜在原因 = 0。

0 投票
1 回答
584 浏览

nhibernate - 如何在 NH 3.2 中实现具有多对多关系的 .ChildWhere() 映射

我有以下 FNH 映射:

结果 hbm 文件为:

我想使用NHibernate 3.2 的“通过代码功能进行性感映射:-) / 循规蹈矩的方法”来实现相同的映射

注意: 以下方法不起作用:

因为: 它遵循 FNH 映射:

.Where("IsDeleted = 0") 和 .ChildWhere("IsDeleted = 0") 不一样。

HBM 差异:

结果 hbm 文件使用.ChildWhere("IsDeleted = 0")的是:

结果 hbm 文件使用.Where("IsDeleted = 0")的是:

谁有类似的问题或可以提供解决方案?需要帮忙。