我看过几篇文章,指出存储库只应为诸如GetAll()之类的方法调用返回完整的域模型。但是,如果我只需要一个列表,其中每个项目仅由来自具有30个属性的域模型中的2个属性组成,该怎么办?我想显示一个列表部门,其中列表仅显示部门名称和位置。用户可以从该列表中选择一个部门并请求其详细信息。从那里,我可以进行另一个存储库调用,以返回所选内容的完整域模型,并允许进行典型的操作。
但是,如果我不应该使用存储库返回完整域模型的子集,那么建议的方法是什么?我想我只可以返回完整域模型的列表,但这似乎浪费了网络带宽,无法通过网络传输如此多的数据。如果我创建另一个模型来表示感兴趣的2个属性,那么这似乎又是一件繁重的工作,因为每个模型我都有自己的存储库和用于访问存储库的服务模块。
从存储库中检索完整域模型的子集的建议方法是什么?另外,如果我违反了仅通过提取部分模型数据(仅用于选择列表)仅提取完整模型的规则,将会发生什么情况。
冉冉说
相关分类