gpt4 book ai didi

c# - 业务对象(在层次结构中)之间的循环引用是否常见?

转载 作者:行者123 更新时间:2023-11-30 16:31:33 24 4
gpt4 key购买 nike

Linq-to-Sql 类既为父级提供了对子集合的引用,也为子级提供了对父级(单个或集合)的引用。这允许一个人在两个方向“钻”,而且看起来很方便。

这种设计是否也适用于手动创建的业务对象(PO​​CO 或其他)?以防万一;建议这样做的优点/缺点或具体情况是什么?


编辑1:

我主要考虑逻辑驱动的行为;意思不是用户交互,而是像处理金融交易、游戏软件等的程序。如果你处理一个子实体,然后需要它的父实体的一些参数怎么办。这看起来很方便,但也许是我编码实践的其他部分才是问题所在,让我觉得我需要这个……

最佳答案

不确定这是否真的是您正在寻找的答案,但这是我的 2 美分。

循环引用是一种可怕的数据库设计,应该不惜一切代价避免。

它几乎不可能系统地插入和删除成批的记录,因为操作的顺序无法事先确定并且高度依赖于记录中包含的数据。

这方面的一个例子是这样的:

class Company
{
Person ContactPerson {get;set;}
}

class Person
{
Company Company {get;set;}
}

在处理数据库时,您确实遇到了 22(或鸡蛋问题)情况。

然而,在代码中处理它并不是什么大问题。

关于c# - 业务对象(在层次结构中)之间的循环引用是否常见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4813954/

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