问题标签 [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.
fluent-nhibernate - NHibernate 中的条件关系
根据ObjectType列,我有一个表需要与 2 个表的关系。
例如,如果 ObjectType=1,则Object列应指向 TABLE1,如果 ObjectType=2,则指向 TABLE2。
我可以在 NHibernate 映射中或作为 Fluent NHibernate 完成此操作吗?
如果不是,你会建议我对两个表类使用相同的接口吗?(注意:表模式完全不同)
nhibernate - Nhibernate:使与地图的多对多关系成为一对一
我有两个项目 A 和 B,它们具有单向的一对一关系。(A 有一个 B)
在数据库中,它们由 ATable 和 BTable 表示,它们由 ABTable 链接在一起。(从数据库设置来看,似乎存在多对多关系,但实际上并没有,这样做是出于规范化的原因)。
问题是由于这种设置,我只能让 NHibernate 将其映射为实体之间的多对多关系。无论如何使实体具有一对一的关系?
我能想到的最好的方法是让它具有多对多关系,然后在 A 实体上有两个属性,一个返回 B 的列表,这将满足映射和第二个非映射属性,它将获得列表中的第一个 B,以满足我的应用程序。- 但这似乎不优雅。
.net - NHibernate 数据类型 - 否是布尔值
在 NHibernate 映射中获得 YesNo 布尔类型的反向行为的最佳方法是什么?
我希望“Y”表示错误,“N”表示正确。
有 NoYes 类型吗?你写自定义类型吗?真的很容易吗?
需要反转布尔值的问题存在于 40 多个表中的至少一个字段上。试图适应遗留数据库。
nhibernate - 使用 Fluent NHibernate 生成表索引
是否可以使用 Fluent NHibernate 与数据库模式的其余部分一起生成表索引?我希望能够通过自动构建过程生成完整的数据库 DDL。
hibernate - Hibernate:如何将 *.hbm.xml 文件映射到不同的文件夹中?
我有一些 *.hbm.xml 文件放在 hibernate.cfg.xml 文件的同一文件夹中。现在,我想映射此文件夹子文件夹中的其他一些 *.hbm.xml 文件。我怎么能做到?谢谢!
这是我的一部分hibernate.cfg.xml
:
这是我的 Ant 文件的一部分:
这是我的文件夹结构
[编辑]
正如莫里斯建议的那样,我首先尝试并失败了,将线路改为
仍然给出相同的错误:
然后我继续尝试按照 Mark 的建议添加到我的 schemaexpoert 中。然后它甚至再也找不到我的“A.hbm.xml”了。给出错误:
我的 SchemaExportTask 现在看起来像:
[解决]
结论是我真的很愚蠢。它与在不同的目录中无关。我很困惑,因为我在测试阶段一次更改了两件事,然后我将这一切归咎于无辜的“目录更改”。很抱歉浪费了大家的时间。
如果有人感兴趣,这就是发生的事情。我使用本地 DTD 文件进行了一些 XSLT 转换,并在我的 XSL 文件中使用相对路径指定了本地 DTD 文件。但是我将生成的 hbm.xml 文件放到了不同的目录中——因此 SchemaExportTask 无法再找到 DTD 文件并且无法解析新的 hbm.xml 文件。由于一些愚蠢的原因,我认为以下完全不同的错误消息意味着相同的事情......非常感谢 Mark 提醒我人们写错误消息是有充分理由的!现在添加fileset
仍然不起作用,但我现在知道阅读错误信息......我相信我会尽快修复它。=.=''
nhibernate - Nhibernate - query with join table without relationship
I was wondering if anyone has tried to do this in NHibernate.
I have the following tables (simpify version).
CITY: city (varchar2) (PK) province (varchar2) (PK)
CITY_TL: city (varchar2) (PK) province (varchar2) (PK) lang (char (2)) (PK)
LOCATION: location (varchar2) (PK) some other column.
As you can see, there are no relationship between CITY and LOCATION. However, it was set up in a way that CITY.Province can equal to LOCATION.Location. So, I can execute a query like this:
select c.* from city c join city_tl ctl on c.city = ctl.city join location l on l.location = c.province
How do I do that in NHibernate? Is this even doable?
Here is my mapping files for CITY and LOCATION
CITY:
LOCATION:
Can someone shine some light on this and tell me what should the query look like in NHibernate?
nhibernate - Fluent NHibernate 对象化关系映射
寻找有关如何配置 NHibernate 以支持我的场景的答案,即具有对象化关系的多对多映射。
我有一组 Person:s 与其他 Person:s 的关系。每个关系都有一个属性,指定它们具有什么类型的关系。在 RDB 中,这是通过使用具有在该表中指定的关系类型的多对多表来完成的,然后可以通过允许更多类型来扩展模型,例如“亲密朋友”和“主要敌人”。
我希望能够查询一个 Person 对象以按类型返回所有相关的 Person
或者
另一个(不太可扩展的)解决方案是在类中静态指定存在哪些其他关系:
现在我必须使用带有“Person”表和“PersonPerson”表的遗留数据库。“PersonPerson”表将关系类型保存为整数。
我试图使用如下语法来做到这一点,但到目前为止没有成功......
关于使用(流利的)NHibernate 映射这个的任何提示/解决方案?
BR
/詹斯
nhibernate - NHibernate - 为属性/列设置长度属性有什么意义吗?
属性/列的定义通常如下所示:
我假设 NHibernate 将在插入/更新行之前使用长度属性验证数据。不幸的是,这似乎是无效的假设。所以问题是 NHibernate 是否对任何东西使用长度属性?为每个属性设置它是否有意义?
.net - NHibernate - 12 个月/1 年和数据绑定
处理这个问题的最佳方法是什么我有一个应用程序,我经常必须将 12 个月的记录“透视”到一年的记录/对象中,以便能够在 DataGrid 中每行显示一年。到目前为止,我一直在使用一些丑陋的 T-SQL 在 DataSets 中进行这项工作,以实现枢轴。
我现在正在将此应用程序升级到 NHibernate,这是我遇到的一个问题。
例如,假设我有一个测试,我每月给一组学生做一次测试。我的 DDL 可能如下所示:
我想在 DataGrid 中显示(每个学生/年一条记录)这些字段:
学生姓名、年份、1 月、2 月、3 月、4 月、5 月、6 月、7 月、8 月、9 月、10 月、11 月、12 月
使用 NHibernate 处理此类任务的正常方法是什么?你会怎么处理?
nhibernate - Fluent NHibernate HasManyToMany 和 NotFound
我有以下 FNH 映射片段:
产生以下 HBM:
问题是我正在处理遗留数据,也就是说,让我们说“不太理想”,并且一些记录的 ID 无效,所以我需要将not-found="ignore"
属性放在包内的多对多标签上。我看不出有任何方法可以用 FNH 实现这一点。
有.NotFound.Ignore()
on the References()
call,但没有 on the HasManyToMany
Call。
有人能告诉我我错过了什么吗?即使在渲染后/在配置 NH 之前“注入”属性是一种技巧,我也只需要它工作即可。
提前致谢。
更新gcores 答案将不起作用,它会将其添加到错误的标签中,请参阅我对他的答案的评论以获取更多信息。