首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EF在对象加载时删除相关类。

EF在对象加载时删除相关类。
EN

Stack Overflow用户
提问于 2016-10-18 18:02:40
回答 2查看 55关注 0票数 0

我首先使用EF查询我的数据库,我有我的“新闻”区域,它链接到其他几个区域,我不想加载这个对象的关系。我要做什么选择?我正在使用WebApi 2,并将数据作为JSON返回到我的应用程序中。

我知道一些我尝试过的选择:

  1. 使用我想要的字段创建第二个类,并使用映射它;
  2. 手动删除它们,将它们设置为null。

我真的不喜欢这些选择,因为第二个听起来不对,第一个感觉像是重新做工作,我想知道是否有更好的选择来解决这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-18 18:31:39

你在这里的选择可能是:

  1. 使DTO特定于您的“新闻”区域,这将只包含您需要返回的信息,使用某种Mapper从您的实体映射到DTO。我建议使用该方法,因为它提供了足够的灵活性,使API契约和depend之间不再严重依赖。
  2. 禁用系统范围或特定关系的延迟加载,删除virtual关键字,并在您明确需要这些属性的地方使用.Include(x=>x.Navigation)
票数 1
EN

Stack Overflow用户

发布于 2016-10-18 18:18:33

确保关闭延迟加载this.Configuration.LazyLoadingEnabled = false;

并关闭代理创建this.Configuration.ContextOptions.ProxyCreationEnabled = false;

然后确保不要在LINQ查询中使用Include。HTH

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

https://stackoverflow.com/questions/40115061

复制
相关文章

相似问题

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