我一直在开发一个新的MVC应用程序,它使用EF4、POCO领域对象和存储库<-->服务层。
我看到很多人谈论使用AutoMapper将EF4类映射到DTO以供视图模型使用。我原本认为这是为了摆脱紧密绑定的EF4类。所以我的问题是,既然我正在使用POCO类,那我不能直接在视图模型中使用它们吗?还是说仍然需要AutoMapper?
我一直在开发一个新的MVC应用程序,它使用EF4、POCO领域对象和存储库<-->服务层。
我看到很多人谈论使用AutoMapper将EF4类映射到DTO以供视图模型使用。我原本认为这是为了摆脱紧密绑定的EF4类。所以我的问题是,既然我正在使用POCO类,那我不能直接在视图模型中使用它们吗?还是说仍然需要AutoMapper?
是的 - 我的仓储返回你的Repositories是否返回IQueryable?如果是,你如何处理上下文?我的意思是你的Repositories实现IDisposable然后在控制器中处理它们吗?
IQueryable<T>
,其中 T 是聚合根。我的仓储接收一个工作单元(实现了 IDisposable)。工作单元是 EF4 上下文的包装器。StructureMap(DI 容器)负责组件的生命周期(包括 UoW,也就是上下文)。我为每个 HTTP 请求创建一个 UoW 实例,并在完成后进行处理。我的“服务”调用 IQueryable 仓储上的方法并返回集合(例如,在传递回控制器之前将查询材料化)。
bool
标志,例如bool loadPosts
,然后检查并相应地执行.Include
。 - RPM1984