|
|
1
2
在我看来,你基本上建立了一个
directed graph
,以及这两个映射
这种定向性通过关系类型的语义得到加强:while 是同事吗 symmetric relation 是一个经理吗 和 是导师吗 它们几乎肯定是不对称的。
|
|
|
2
2
我想我也会这样做,但是,我认为这样建模有点“笨拙”。
我的意思是:你有一群与某个人有关系的人,但你也有一个“后台关系”。
嗯,这听起来可能有点模糊,所以这里有一些代码(注意,为了简洁起见,我省略了“虚拟”修饰符等…(我也不喜欢使用这些修饰符,所以在99%的时间里,我在类映射中指定“lazy=false”)。
如您所见,Person类只剩下一个集合,即PersonPerson对象的集合,它表示此人拥有的关系。 为了获取与给定人员有关系的人员,您可以在PersonRepository上创建一个返回这些人员的特定方法,而不是将他们放在Person类的集合中。我认为这也会提高性能。
“反向引用”不是Person类的成员;它必须通过存储库进行访问。 这也是Eric Evans在他的DDD-book中所说的:在某些情况下,最好在存储库上有一个专门的方法,可以让您访问相关对象,而不是让它们(=相关对象)随身携带对象本身。
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |