延迟加载框架实体的问题

时间:2017-03-14 23:02:50

标签: c# .net entity-framework entity lazy-loading

我正在使用延迟加载的实体,我必须关注问题, 我正在运行一个不包含相关属性的查询,但是当我尝试序列化对象时,序列化程序正在尝试加载相关属性,并且由于我的上下文被处理,我得到了异常。 / p>

我想要做的是在未加载时将所有相关属性设置为null(有时我可能会将它们包含在我的查询中,并且我希望它们在这种情况下被序列化)。 我有办法做到吗?

1 个答案:

答案 0 :(得分:0)

尝试以下代码。我使用Json.Net进行序列化,并设置LazyLoadingEnabled = false。

using (var dbContext = new ApplicationDbContext())
{
    dbContext.Configuration.LazyLoadingEnabled = false;

    var list = dbContext.Videos.Take(5).ToList();

    var output = JsonConvert.SerializeObject(list);
}