gpt4 book ai didi

c# - NHibernate:如何将常见类型的多个 parent 的 child 映射到一个表中?

转载 作者:太空宇宙 更新时间:2023-11-03 14:36:50 24 4
gpt4 key购买 nike

有什么方法可以让 NHibernate 让我在 ChildObjectTable 中存储多个 ChildObjects 但将它们引用回不同的 ParentObjects?还是我必须为每个 ParentObject 类型创建一个单独的 ChildObject 类/表?

我已将其归结为以下内容,我正在尝试映射这些对象:

public class ParentObjectA
{
public virtual Int64 Id { get; private set; }

public virtual IDictionary<int, ChildObject> Children { get; private set; }
}

public class ParentObjectB
{
public virtual Int64 Id { get; private set; }

public virtual IDictionary<int, ChildObject> Children { get; private set; }
}

public class ChildObject
{
public virtual Int64 Id { get; private set; }
}

变成如下表结构:

ParentObjectTableA
Id bigint

ParentObjectTableB
Id bigint

ChildObjectTable
Id bigint
ParentId bigint
ParentQualifier varchar(50)

最佳答案

或许您可以为您的父类创建一个抽象基类?这样,给定的子对象就可以引用其父对象的抽象类型。

例如,您可以有一个名为 ParentBase 的类,ParentClassA 和 ParentClassB 对其进行扩展。您的子对象将引用回 ParentBase。

NHibernate 的各种 inheritance models 都是可能的.

关于c# - NHibernate:如何将常见类型的多个 parent 的 child 映射到一个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/722550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com