问题描述
|
有没有一种方法可以定义每个数据上下文的急切加载,所以我可以这样说:“加载客户时也总是使用关联的City加载时使用此数据上下文”?
因此,与Linq to Sql中的Options和LoadWith非常相似。
解决方法
没有任何实体框架不能提供与Linq-to-Sql中可用的ѭ0等效的功能。无法全局定义
LoadWith
或AssociateWith
之类的东西。
,就像拉迪斯拉夫所说,EF目前无法做到这一点。但是,问题又回到了为什么要全局而不是在每个查询的基础上进行的问题。
如果您的主要目的是从业务层中抽象出急切的负载,那么一种选择是执行我在此处撰写的博客文章中所述的操作。本质上,它描述了我要创建的库(允许时间),在该库中,它通过查看查询应基于的数据结构来自动确定如何急于加载。
但是,我不知道这是否可以解决您正在尝试做的核心问题,而又没有更详细地说明为什么要在全球范围内这么做的原因
,您可以在DataContext的构造函数中定义数据加载选项:
public MyDataContext() :
base(global::System.Configuration.ConfigurationManager.ConnectionStrings[\"MyConnectionString\"].ConnectionString,mappingSource)
{
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<Customer>(o => o.City);
this.LoadOptions = options;
OnCreated();
}
每次都渴望加载该属性。