我将 Code First 与实体框架一起使用。
我有一个具有另一个类的虚拟属性的类(延迟加载)。
public class Order{
public int Id { get; set; }
public virtual ICollection<OrderItem> OrderItems { get; set; }
}
如果我Order
从数据库中获取并且不包含OrderItem
,则关闭 DbContext,是否可以稍后加载它们?如果是,如何?
例如。
private static Order GetFirstOrder(Func<Order, bool> predicate)
{
using (var db = new MyContext())
{
return db.Orders.First(predicate);
}
}
private static void DoSomething()
{
var order = GetFirstOrder(a => a.Id == 1);
//do something with OrderItems later?
}