存储库模式可以抽象出实际的数据源,我确实看到了很多好处,但是存储库不应该使用 IQueryable 来防止泄漏数据库信息,它应该始终返回域对象,而不是 DTO 或 POCO,并且它这是最后一件事,我很难解决问题。
如果存储库模式总是必须返回一个域对象,这是否意味着它在大多数情况下都会获取太多数据?假设它返回一个具有四十个属性的员工域对象,并且在使用该对象的服务和视图层中,实际使用了其中的五个属性。
这意味着数据库已经通过网络获取了大量不必要的数据。对一个对象执行此操作几乎不会引起注意,但是如果通过这种方式推送数百万条记录并且每次都丢弃大量数据,这是否不被视为不良行为?
是的,当添加或编辑或删除对象时,您将使用整个对象,但读取整个对象并将其推送到仅使用其中一部分的另一层并没有以最佳方式利用下划线数据库和网络。我在这里想念什么?