包括子实体ADO.net EF,LinqToEntities

时间:2013-05-07 08:08:46

标签: entity-framework ado.net linq-to-entities visual-studio-lightswitch

我正在尝试将所有子实体加载到与“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实体仍然不会包含在查询中,因此每行加载一次,这需要很长的时间。

由于

0 个答案:

没有答案