gpt4 book ai didi

c# - 如何在代码中建模多对多关系?

转载 作者:IT王子 更新时间:2023-10-29 04:16:17 25 4
gpt4 key购买 nike

假设我在数据库中有 2 个表。例如:狗和老板这是一个多对多的关系,因为老板可以有不止一只狗,而一只狗可以有不止一个主人。我是 Bobby 的所有者,但我的妻子也是。

但是不允许多对多,所以有一个辅助表:DogsPerBoss

如何在代码中对此建模?

类(class) Boss 可以拥有一组狗。Dog 类可以有 Boss 的集合。--> 至少,我是这么认为的。也许有更好的解决方案?

辅助表中的额外数据怎么样?那应该是de Boss级还是Dog级?例如:昵称(我叫狗“好 child ”,老婆叫他“小狗”)

我希望我的问题有点清楚?是否有关于实现此目标的最佳方法的最佳实践?你能给我一些引用吗?

ORM(如 NHibernate)不是一种选择。

最佳答案

为什么要谈论表格?您是在创建对象模型还是数据库模型?

对于对象模型,狗没有理由不能有 List<Owner>和所有者有一个 List<Dog> .只有在关系上有属性时才需要中间类(UML 称之为关联类)。那时候你会有一个带有额外属性的 DogOwnership 类,每个 Owner 都会有一个 List<DogOwnership>。 ,每只狗也是如此。 DogOwner 将有一只 Dog、一个 Owner 和额外的属性。

关于c# - 如何在代码中建模多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1103693/

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