首先,我正在使用手动查询。
我在组织服务和存储库层时遇到了一些问题。问题是我有一些对象是相当大的聚合对象,需要在显示模式下从其组成对象获取基本数据,但在处理时需要完全开发其所有子对象以避免空错误和其他一些业务逻辑错误。
因此,例如,工作有客户,供应商,厂别,机器,用户,运行,存储,组件,文档,检查表,请购单,订单项目。
当显示作业时,我们希望有客户名称,供应商名称,用户,组件描述,商店名称,机器编号,站点名称,检查表数量等内容。你可以看到它主要是描述。但是,当我想处理一个Job时,我需要完全开发所有这些对象。
目前我正在做的事情,我不喜欢,是当从JobRepository中获取一个Job时,它直接完全开发Job对象并仅用显示值填充其余的子对象,当我想要处理我前进的工作并为每个对象调用相应的存储库以获得完整的对象。这种方法存在一些问题。
如果我们向对象添加一个字段,我必须在多于1个位置寻找变化,这会破坏存储库的目的。 我只能有2种'检索模式',它们是完全开发或仅显示的。如果我想让一些子对象更发达而不是其他对象怎么办?例如,当显示OrderItems时,我想让其中的Part对象完全用价格和所有开发。
我觉得随着各地的复制,事情很快就会失控,我需要一个更好的长期解决方案。任何帮助将不胜感激。