问题标签 [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 投票
2 回答
1313 浏览

nhibernate - 如何在 nhibernate 中映射更深层次的层次结构

我有这个对象图,我想映射:

  • 抽象帐户(用户名,密码,...)
    • 抽象客户(购物车、订单、角色)
      • 个人客户(用户数据)
      • CorporateCustomer(不同的用户数据、公司数据)
    • 管理员(管理员角色)

如何将其映射到一张表?(我知道如何使用只有 1 级深度的实体层次结构来做到这一点,就像在文档中一样,但这是不同的)。

有人有想法吗?我在 http://groups.google.com/group/nhusers/browse_frm/thread/7a85cba0048c18d8?hl=en中提出了同样的问题,但到目前为止还没有收到有用的答案。

0 投票
1 回答
10210 浏览

nhibernate - 将 Hibernate 过滤器属性应用于具有多对多关系的 Bag

考虑以下 Hibernate 映射文件:

当我运行以下命令时:

生成的 SQL 在中间映射表 (contentAudVidLinks) 上有 WHERE 子句,而不是“剪辑”表,即使我已将过滤器属性添加到剪辑袋。

我究竟做错了什么?

0 投票
2 回答
2785 浏览

c# - Cascade.SaveOrUpdate (SQLite) fluent-nhibernate

我有两个类之间的多对多关系:锦标赛和玩家

我在映射中设置了 Cascade.SaveUpdate,但是在保存 Tournament 实例时,Players 不会保存到 Players 表中。Nhibernate 只在链接表中写入父键列和子键列。数据库是 SQLite。

这些是映射

0 投票
4 回答
1746 浏览

nhibernate - 流畅的 NHibernate 问题

假设您有两个表,“Users”和“UserRoles”。以下是这两个表的结构(表 - 列):

用户 - 用户 ID (int)

UserRoles - UserID (int), Role (string)

我想要的是我的域中的“用户”类拥有一个 IList 角色。如何构建我的 Fluent NHibernate 映射来实现这一点?

0 投票
2 回答
584 浏览

c# - NHibernate 映射问题(我认为)

好的,所以我有一个名为“Business”的对象(我知道,我知道,“Business Business Object”)当它保存它的外键时不知何故丢失了。其他一切都在节省。我已经逐步完成了代码并跟踪了对象,直到

session.SaveOrUpdate(businessObject);

方法。那时的物体是完整的,外来的属性似乎在那里。但是,当它被保存时,外国 ID 不在业务表中。我只能想象这可能是因为我没有正确映射它们?

这是它们被映射的位置:

这是加载和保存对象的位置:

感谢您的帮助。

0 投票
3 回答
1767 浏览

nhibernate - 是否可以为 Fluent NHibernate Automapping 使用私有字段约定?

如何使用流畅的 NHibernate AutoPersistenceModel 映射到私有字段?

AutoPersistence 模型是否有字段约定,或者我是否必须为具有字段的类使用单独的映射?

0 投票
2 回答
263 浏览

nhibernate - 从多个实体的集合中级联删除

我有三个实体:客户、设备和 LocationTag。

客户有一个 LocationTag 列表(只不过是一个 ID 和一个描述)。他们还有一个设备列表。

设备使用客户 LocationTag 的一个子集进行标记,因此设备也有一个 LocationTag 列表(但仅限于客户的)。

如果我从客户列表中删除 LocationTag,我希望它也从设备中的 LocationTag 列表中级联删除。目前,我让它工作,但在域对象类中使用手动代码,但在我看来违反了 DRY。

是否可以通过 Fluent NHibernate 映射来实现这一点?

简化的 Fluent NHib 映射:

顾客

设备

位置标签

0 投票
4 回答
12290 浏览

nhibernate - NHibernate - 映射字符串外键

我继承的遗留数据库包含以下表格:

球员表中的外键指的是球队名称,而不是teamId。

我尝试使用包从团队映射到玩家:

但我得到 SqlException:将 varchar 值“Arsenal”转换为数据类型 int 时转换失败

我已经能够使用包来映射其他区域的字符串外键,但在这些情况下,外键指的是父表的主键。

编辑:我正在使用 NHibernate 2.0.1

0 投票
2 回答
10007 浏览

nhibernate - 如何在 FluentNHibernate 中创建复合 UNIQUE 约束?

我知道我可以Map(x => x.GroupName).WithUniqueConstraint()为一个单一的财产。

但是如何在 fluent nHibernate 中创建复合唯一约束(其中唯一约束对两列的组合进行操作)?

0 投票
4 回答
232 浏览

nhibernate - 有没有办法用 where 子句一对一映射?

请原谅我对这个话题的无知,因为我对 Hibernate / NHibernate 比较陌生,但我遇到了一个我无法弄清楚的映射:

这是我的数据库表的样子:

有没有办法用 where 子句一对一映射?

所以 BinContent 对象的 ItemType 可以是 VIDEO 或 CLIP。这些是作为字符串键入的,不幸的是我无法更改。

因此,如果 ItemType 字段显示“VIDEO”,我想要一个多对一“视频”对象,但是如果 ItemType 字段显示“CLIP”,我想要一个多对一剪辑.

帮助!

在这种情况下,我什至不确定是否要使用多对一。也许是一对一?