首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DDD和Automapper是否克服了延迟加载?

DDD和Automapper是否克服了延迟加载?
EN

Stack Overflow用户
提问于 2013-09-20 09:13:57
回答 2查看 735关注 0票数 1

我正在从事一个n层域驱动设计项目,该项目使用实体框架4 DB-First和Automapper在域的命名空间中生成POCO。

为了澄清: EF项目返回MyProject.Repositories.EF.Entities命名空间中的实体,我使用Automapper将它们转换为MyProject.Domain.Entities命名空间中的实体。

现在,我不太清楚当我在EF和域实体之间映射时,是否枚举了所有集合属性,即映射时是否还从DB检索了所有相关数据,或者当我在代码中实际枚举它们时,它们是否仍然是延迟加载的。

我对明显的业绩影响感到关切。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-01 09:24:32

原来答案是否定的。只要在两个IEnumerables之间映射,实际的枚举只会在执行foreach、ToList()等操作时发生。如果不对这些对象的IEnumerable属性执行操作,则枚举永远不会发生,相关数据也不会被检索。

票数 2
EN

Stack Overflow用户

发布于 2013-09-20 22:06:20

长话短说-这不是AutoMapper关注的问题,而是您如何使用ORM的问题。AutoMapper只是删除了您已经编写的代码,所以如果您编写了针对ORM的糟糕的执行代码,那么AutoMapper将欣然接受。

在使用AutoMapper之前,在使用AutoMapper之前,在使用AutoMapper之后,人们都在滥用ORM。当正确使用时,延迟加载是一个强大的工具,但仍然可能被滥用。使用延迟加载并不妨碍开发人员理解幕后实际发生的事情。

所以使用AutoMapper,但是要注意您的抓取,就像您没有使用AutoMapper时应该做的那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18912989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档