nHibernate 有很多限制

发布于 2024-11-26 11:41:24 字数 199 浏览 2 评论 0原文

我有一个表(比如对象 A),它可以被 B 类型的多个对象引用。这保证了从对象 A 到对象 B 的 HasMany 关系(以及从 B 到 A 的引用关系),但我知道其中一些对象 A 的只有一个子对象 B - 有什么方法可以将 HasMany 映射限制为单个对象,而不是 IList?

而不是拥有对象 B 和 IList<> 。我的对象 A 实体中的对象 B。

I have a table (say object A) and it CAN be referenced by multiple objects of type B. This warrents a HasMany relationship from object A to object B (and a References relationship from B to A) BUT I know some of these object A's just have the one child object B - is there any way I can limit the HasMany mapping to a single object, instead of an IList?

Rather than have an object B AND an IList<> of object B within my object A entity.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

音盲 2024-12-03 11:41:24

您可以进行一对一映射,但这在您的情况下不起作用,因为您说只有这些实体的子集具有单个子对象。
另一个想法是创建一个属性,该属性将返回 hasmany 集中的第一个对象,但不能在查询(LINQ、HQL 或条件)中使用它

     public B Related {
        get {
            return ListOfB.FirstOrDefault();
        }
    }

You can have a one-to-one mapping, but this won't work in your case since you said that only a subset of these entities have a single child object.
Another idea would be to create a property which will return the first object in the hasmany set, but you cannot use this in queries (LINQ, HQL or criteria)

     public B Related {
        get {
            return ListOfB.FirstOrDefault();
        }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文