我有一个 EF 域模型来在我的 ASP.NET MVC 控制器和我的服务层之间传递信息。MVC Controller 与数据源断开连接,完全依赖服务进行加载。
我正在使用 EF 4.3 和 Code First。
因此,我不在我的应用程序的 MVC 层中使用 EF 延迟加载功能。因此,许多对象都是“部分加载”的,因为我不需要数据并且加载它效率低下。
但是,我在开发过程中经常遇到空引用异常,因为没有办法静态地知道这一点,除非制作大量仅代表正在传递的数据的 DTO。
我不喜欢创建很多 DTO,因为这会产生更多的代码和映射问题,并且不一定会减少可能导致的错误数量。但我怀疑这是让我的代码更干净的唯一真正方法。
除了 DTO 之外,是否存在一种设计模式来解释断开连接的 n 层实体框架应用程序?