在另一个模型属性对象中使用延迟加载的集合



我试图在另一个模型属性中使用延迟加载的iccollection,就像这样…(注意:我只包括了与这个问题相关的类属性,因为类有超过50个属性,并削减了TotalCost属性,只包括导致错误的行。)

public class PartModel {
public double TotalCost
{
get
{
var costs = 0D;
costs += AddedCosts != null && AddedCosts.Any() ? AddedCosts.Sum(x => x.AddedCost) : 0;
return double.IsInfinity(costs) ? 0 : costs;
}
}
public virtual ICollection<AddedCostModel> AddedCosts { get; set; }
}

当我在视图中调用AddedCosts时,它会像预期的那样惰性加载,但是当TotalCost被调用时,在AddedCosts之后立即抛出异常Error: The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.

我需要在这里改变什么来允许这个工作?我应该急切地加载这个,而不是懒惰?

web应用中的延迟加载是低效的,是一个糟糕的设计。别用它。

相关内容

  • 没有找到相关文章

最新更新