在nhibernate中映射两个具有相同名称的列

时间:2012-06-08 16:10:41

标签: nhibernate fluent-nhibernate nhibernate-mapping hibernate-mapping

我遇到过一个案例,我们有两次列映射(我们不知道......),现在更新正在抛出“参数+1不存在错误”。

有没有合适的方法可以实现以下映射?

(请注意,这是一个继承的数据库...)

        References(x => x.Matter).Columns(new[] { "c_client", "c_matter" }).NotFound.Ignore();
        References(x => x.Client).Column("c_client");

2 个答案:

答案 0 :(得分:3)

您可以选择将客户端列标记为只读。

References(x => x.Matter).Columns(new[] { "c_client", "c_matter" }).NotFound.Ignore();
References(x => x.Client).Column("c_client").ReadOnly();

这应该让NHiberante不会尝试更新它

答案 1 :(得分:1)

这是无效的映射。您不能两次使用同一列。

我的建议是您将c_matterc_client映射为标量属性,并使用查询来检索相应的事项和客户。