问题标签 [mapping-by-code]

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 回答
221 浏览

c# - 代码映射——双向关系

我有一个父子关系,目前,只有每个孩子对父母的引用存在(子表上有一个外键列)。我想向父级添加一个只读的 IEnumerable 属性,但我没有这样做。

表名和列名是按约定创建的。当我创建并保存带有父属性集的新 BranchDate 时,它​​不会出现在父级的 Branches 集合中。

我缺少什么设置?

我已经通过代码和http://notherdev.blogspot.cz/2012/02/nhibernates-mapping-by-code-summary.html阅读了双向 NHibernate 映射,但我仍然无法正确设置它。

编辑:验证此行为的代码

0 投票
1 回答
1617 浏览

c# - NHibernate 通过代码映射 - 复合唯一索引

如何在类的 3 个属性上创建复合 UNIQUE 约束?它需要允许 NULL 作为合法值。

0 投票
2 回答
485 浏览

nhibernate - Nhibernate 将 GAC 程序集添加到按代码映射

我已经在 GAC 中EmployeeEntity存储了 inMyCompany.Entities.Employee.dllEmployeeMap: ClassMapping<SPListItem>in 。MyCompany.Mapping.dll

我使用按代码映射来创建 ISessionFactory 实现,如下所示:

我应该如何正确配置配置实例以在我的映射中使用 GAC 程序集?

0 投票
1 回答
2194 浏览

c# - NHibernate 代码映射和 IUsertype 不起作用

我正在尝试通过代码获取与 NHibernate (v3.3) 映射一起使用的自定义类型。我尝试在此处遵循此示例,但没有运气。我试图实现的自定义类型是一种修剪来自数据库的字符串的类型。

我收到以下异常:

PropertyAccessException: Invalid Cast(检查您的映射是否有属性类型不匹配)。{“无法将“System.String”类型的对象转换为“ConsoleApplication1.TrimmedString”类型。”}

这是我的全部尝试(要点)。

这是我的映射:

不确定我是否必须在 NHibernate 配置对象中做任何特别的事情,但我已将其包含在上面链接的 Gist 中。

0 投票
1 回答
243 浏览

c# - NHibernate 多对一“即时”

我想知道下一个问题是否可以在 NHibernate 中以不同的方式解决。

假设我们有这个域:

LastAssociationWithB属性表示集合属性B中关联的持久对象之一。CollectionAssociationOfB

实际上,LastAssociationWithB表示B按日期添加的最后一个持久对象。

所以,在域中,当一个新B的被添加到 时CollectionAssociationOfB,它也被分配到LastAssociationWithB.

这是稍后将代码转换为不太复杂的 LINQ 查询的好方法。

无论如何,我的问题是:你知道任何其他方法吗?例如,某种多对一关联会在后台产生 SQL连接,因此您不需要在A表中具有明确的 1:n 关系,但它会维护类属性?

还是我目前的方法是解决这种情况的推荐方法?

旁注:在现实世界的场景中,这CollectionAssociationOfB是一个有序列表,因为排序是在 NHibernate 映射配置中指定的。

0 投票
1 回答
598 浏览

nhibernate - nHibernate 通过代码映射 - 如何使用嵌套集合填充对象树

我似乎找不到我想做的一个很好的例子,通过代码使用 nHibernate 映射:

我有一个对象“消息”,它有一个“有机体”列表,每个“有机体”都有一个“药物”列表。请原谅我下面的伪示例:

在我的类映射中使用 Bags,我能够正确保存此消息对象,并使其正确持久。问题是在使用消息 ID 调用 Get 以返回消息时。我收到“收藏与任何会话都没有关联”

至于我的映射器,我的消息有一袋生物,其中有一袋药物。

有没有人有通过代码使用 nHibernate 映射做这种事情的例子?我的映射器中遗漏了一些东西......

0 投票
2 回答
561 浏览

c# - 在 NHibernate 3.3+ Mapping-By-Code 中使用带有 ID 字段的 IUsertype

我正在使用NHibernate 3.3并使用按代码映射系统。我正在使用的表/数据库对于我的应用程序将是只读的。

我面临的问题是我的主键列在 SQL Server 中存储为二进制字段。我需要将其作为字符串读取,不幸的是我无法修改表(包括添加索引视图)。

此时,我正在尝试使用IUsertype将值从二进制转换为字符串。但是,在尝试将实体中的 Id 列的类型设置为使用 IUserType 时,我被卡住了。

我已经成功地为以下示例的普通属性执行此操作,但无法弄清楚如何为 ID 列和外键列执行此操作。

  1. NH3.3 代码映射是否可行?
  2. 我必须实现IIdentifierType来实现 IUserType 对 Id 字段的作用吗?
  3. NHibernate 变压器可以实现我正在做的事情吗?
  4. 还有其他方法可以解决这个问题吗?除了检索数据并在 C# 中转换它,因为我必须对十几个表中的许多列执行此操作。

谢谢

0 投票
1 回答
183 浏览

nhibernate - 将 Hbm.xml 存储在文件夹中,按需加载

将 hbm 文件与实体程序集分开存储并按需加载它们的最佳方法是什么?我假设我需要将 xml 文件加载到HbmMapping实例中并将其序列化到Hibernate.Cfg.Configuration实例中?

0 投票
1 回答
1206 浏览

c# - 代码字典的休眠映射不将键值对插入字典

我在使用 Nhibernate Map By Code 映射字典时遇到了一些麻烦。我正在尝试使我的课程多语言。因此,为此我制作了一个字典,它为每个 LanguageCode 提供了适当的 _i18n LanguageClass。

映射似乎有效,但如果我想获得带有语言词典的产品,它总是为空,我不知道为什么。

这是我的代码:

这是映射:

这就是我获取信息的主要功能:

0 投票
1 回答
1286 浏览

c# - NHibernate MappingByCode 映射一个 IDictionary

尝试使用 FNH 进行映射并遇到很多问题,最终发现 FNH 缺少,并且不再维护,所以我决定尝试 Nhibernate MappingByCode,它到目前为止有效但没有文档......

我找不到如何映射 IDictionary

公里(键映射)中的选项是元素(值类型)/组件(同一个表中的内部对象)/多对多(在这种情况下我不太了解)

我尝试在两者中都使用 ManyToMany,因为这似乎是最合乎逻辑的事情,但它没有用。

保存字典时 SaveUpdate 已通过,但它没有保存到数据库中,并且无法取回字典。

编辑:这里是示例字典结构

至于表结构 -

如果它是从不同的数据库中保存和重新创建的,则不必是此表结构

@Daniel - 这是 hbm

编辑3(我认为):