问题标签 [conform]

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

nhibernate - ConfORM Nhibernate OneToManyKeyColumnApplier 问题

我在我的一个 MVC 项目中使用 ConfORM Nhibernate。一对多映射有问题。

以及订单和用户类:一个用户有很多订单。

和用户:

我期望这样的关系:数据库中的 Orders.UserId -> User.Id。但是当 Nhibernate 生成数据库时,我们遇到了这个问题(见图):

表结构

UPS。突然出现双重引用用户和用户ID。而当我们删除 [user] Nhivernate 时,不能对这些表进行内部连接。双重时间令人难过:列名“用户”无效。列名“用户”无效。

我认为设置 ConfORM 存在一些问题。如果我删除 mapper.PatternsAppliers.Merge(new OneToManyKeyColumnApplier(relationalMapper)); ConfORM 仅生成 [User] 参考密钥。

有人知道这里有什么问题吗?提前致谢。

0 投票
1 回答
515 浏览

nhibernate - ConfORM Nhibernate OneToMany 级联

我对 Nhibernate ConfORM 级联有一些问题。存在两个实体:

和角色:

级联设置:

这种自动映射给出:

我想删除用户而不删除角色。几乎所有的测试都通过了,但是这个失败了:

错误消息:当我尝试删除用户时出现(var u = repo.GetByName("memoryUser");)。

已删除的对象将通过级联从关联中删除已删除的对象重新保存

我应该怎么做才能解决这个问题?

0 投票
3 回答
442 浏览

c# - NHibernate 关系存在双向获取数据的问题

我有 2 个具有多对多关系的表。

实体代码

我在一致性映射中将这些类映射为多对多。

在 xml 中,此映射编译为:

问题是我可以从产品实体中获取类别,但是当我尝试从类别中获取产品时它不起作用并且列表为空。

0 投票
1 回答
1906 浏览

c# - 在运行时扩展/修改 NHibernate 类

抱歉,如果那里已经有正确的答案,但我还没有找到。我正在使用 NH3,并且我有一个用例,我想将 Set 添加到类实现特定接口的任何实体上。我有一个配置生成器类,因此我可以在创建会话工厂之前进行这些更改。

鉴于这个简化的例子:

这个示例映射:

因为我希望能够透明地将此功能应用于许多类——只需实现接口——我不想将“ExtraItem”放在映射中。相反,我想在运行时添加它。因此,如果我从 xml 映射中删除该属性,如何在运行时添加它?

这描述了我正在尝试进行的更改类型:http: //ayende.com/Blog/archive/2008/05/01/Dynamic-Mapping-with-NHibernate.aspx

但它并没有映射多对多的集合,而且我虚弱的大脑一直无法破译 nhibernate 用来创建效果的内存映射表示。这是我最接近的,基于尝试在调试器中获取可见的属性以匹配

在测试中,这会产生运行时错误,因为键为空,但是 XML 映射版本有效,并且在我进行更改时看起来或多或少相同。

加分:我想要一个多对多,因为我想要一个连接表。这让我可以使用真正的外键将实体映射到扩展数据以提高性能。ExtraItems 实际上应该是一个值类型而不是一个真正的实体,但我不知道如何映射它,即使在 XML 中也是如此。

奖励积分,第 2 部分:我可以用 confORM 做到这一点吗?我不想将所有现有映射切换到 confORM,而且我找不到将 confORM 与传统 XML 映射混合的示例,更不用说修改现有映射了。Fluent 将是另一种选择,但我使用的是 NH3,我认为 Fluent 还不支持。

提前致谢!

编辑我相当确定我的问题是我没有定义集合的元素。但是,我无法辨别如何正确定义集合的元素。

0 投票
1 回答
139 浏览

nhibernate - 如何在 nhibernate ConfORM 中使用 sql 查询

如何使用 nhibernate ConfORM 连接来自不同数据库的两个表,或者至少在 nhibernate ConfORM 中编写 sql 查询?

这是我需要运行的查询:

谢谢, 阿列克谢

0 投票
1 回答
1391 浏览

nhibernate - NHibernate 3.2 符合复合 id

我正在升级到 NHibernate 3.2。我使用的是 Fluent NHibernate,但我没有看到 NH 3.2 的新版本。我正在考虑使用包含的 Conform 映射器,但它似乎不允许使用复合 ID。我无法更改数据库,所以我有一个约束。

在 Fluent NHibernate 中,我有这个(名称更改仅为示例):

我将如何使用 NH 3.2 中的 Conform 执行此操作?

谢谢,保罗

0 投票
1 回答
402 浏览

model-view-controller - 使用 confORM 映射 NHibernate

我有 2 个课程(为简洁起见):

他们有一个多对多的关系,我想做:

  • 如果我删除一种成分,则不会删除产品,而只会删除他列表中的成分。
  • 如果我删除一个产品,所有的成分都不会被删除。

我做了这张地图,但我无法让它工作。

0 投票
1 回答
153 浏览

nhibernate - 我们如何获取多个孙子系列

我有这个表结构:

我想通过 Linq 查询得到它:

这个查询得到这个 SQL 代码:

如何使用 fetch 删除重复的左连接?

0 投票
1 回答
2515 浏览

nhibernate - 如何在 NHibernate 中映射没有标识列的视图?

我有一个观点,我将只读取(不写入)。此视图没有任何唯一键(不是事件组合)。

那么如何在不接触视图的情况下在 NHibernate 中映射这个视图呢?我不想在视图中添加新列来为我生成唯一标识。有没有办法映射这个视图并在 NHibernate 端生成标识列?

我可以在我的实体类中生成一个 GUID,例如:

但是我怎样才能使映射工作?以下代码不起作用:

它希望看到 Id 列并抛出:

顺便说一句,我正在使用 NHibernate 3.2 并通过代码进行映射。

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")的是:

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