我有一个实体A,它与实体B和C有关系。
实体B和C只能在我在事务中创建实体A时创建。
因此我只有一个A-Repository.cs
当我在A的上下文中对实体B进行读取/获取操作时,或者在A的上下文之外对C进行读取/获取操作。
我在哪里进行这些操作?
答案 0 :(得分:2)
在A上,假设您正在应用战术模式,假设A是您的聚合的根实体。
答案 1 :(得分:0)
您对B和C的获取操作属于A.因此,在A中,您正在查看public B b{get;}
和public C c{get;}
等代码。
答案 2 :(得分:0)
根据聚合的定义,您需要从存储库中检索聚合(在您的情况下为A),然后遍历对象图以获取本地实体(在您的情况下为B和C)。
A a = aRepository.findBy(id);
B b = a.getB();
C c = a.getC();
必须解决一些基础设施问题。如果您的域模型也是您的持久模型,并且您的商店B和C在与A的单独表格中分开,那么您可能需要一个支持延迟加载的orm框架。