1
我试图通过Json(使用Ajax)将应用程序列表返回给应用程序。我已经尝试过在两个方面:查询实体框架时出错,OutOfMemoryException或使用上下文时出错。AsNoTracking()
使用SELECT
var query = (from ad in db.AddressNamePlaces.AsNoTracking()
where ad.cepPlace == zipCode.Replace("-", string.Empty)
select ad).ToList();
。凡(表达)方法:
var query = db.AddressNamePlaces.AsNoTracking().Where(l => l.cepPlace == zipCode.Replace("-", string.Empty)).ToList();
他们都工作正常。
注意事项:AddressNamePlace中的相关表有超过770k条记录,如果我使用没有.AsNoTracking()方法,应用程序返回给Json一个OutOfMemoryException。实体框架为每个记录实例化很多对象,并且.AsNoTracking()方法避免它。
如果我使用上述查询,我收到以下错误: “当使用NoTracking合并选项返回对象时,只能在EntityCollection或EntityReference不包含对象时调用Load。”
那么,这里有什么问题?