我正在尝试将所有子实体加载到与“master”表相同的查询中,而不是逐个加载每个属性。
这是连接到SQL Server 2008的ADO.net数据库模型。
该应用程序是一个使用和LinqToEntites域名服务的LightSwitch应用程序。
我的主表格元数据,其中“Country”是外键:
[MetadataTypeAttribute(typeof(RuleEntry.RuleEntryMetadata))]
public partial class RuleEntry
{
internal sealed class RuleEntryMetadata
{
private RuleEntryMetadata()
{
}
.....
public string Country { get; set; }
[Include]
[Association("RuleEntry_Country", "Country", "Code", IsForeignKey=true)]
public Country Country1 { get; set; }
.....
}
}
}
国家元数据:
[MetadataTypeAttribute(typeof(Country.CountryMetadata))]
public partial class Country
{
internal sealed class CountryMetadata
{
private CountryMetadata()
{
}
[Key]
public string Code { get; set; }
public string Name { get; set; }
[Association("RuleEntry_Country", "Code", "Country", IsForeignKey = false)]
public EntityCollection<RuleEntry> RuleEntries { get; set; }
}
}
域名服务中的呼叫:
[Query(IsDefault = true)]
public IQueryable<RuleEntry> GetRuleEntries()
{
var query = this.ObjectContext.RuleEntries.Include("Country1");
return query;
}
这没有错误,但是Country实体仍然不会包含在查询中,因此每行加载一次,这需要很长的时间。
由于