Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 包括子实体ADO.net EF、LinqToEntities_Entity Framework_Ado.net_Linq To Entities_Visual Studio Lightswitch - Fatal编程技术网

Entity framework 包括子实体ADO.net EF、LinqToEntities

Entity framework 包括子实体ADO.net EF、LinqToEntities,entity-framework,ado.net,linq-to-entities,visual-studio-lightswitch,Entity Framework,Ado.net,Linq To Entities,Visual Studio Lightswitch,我试图让我的所有子实体加载到与“主”表相同的查询中,而不是每个属性逐个加载 它是一个连接到SQL Server 2008的ADO.net数据库模型 该应用程序是一个LightSwitch应用程序,使用和LinqToEntites域服务 我的主表元数据,其中“国家”是外键: [MetadataTypeAttribute(typeof(RuleEntry.RuleEntryMetadata))] public partial class RuleEntry { internal sealed

我试图让我的所有子实体加载到与“主”表相同的查询中,而不是每个属性逐个加载

它是一个连接到SQL Server 2008的ADO.net数据库模型

该应用程序是一个LightSwitch应用程序,使用和LinqToEntites域服务

我的主表元数据,其中“国家”是外键:

[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; }
    }
}
[MetadataTypeAttribute(typeof(Country.CountryMetadata))]
公共部分阶级国家
{
内部密封类元数据
{
私有元数据()
{
}
[关键]
公共字符串代码{get;set;}
公共字符串名称{get;set;}
[协会(“规则条目\国家”、“代码”、“国家”,IsForeignKey=false)]
公共EntityCollection规则项{get;set;}
}
}
以及域服务中的调用:

[Query(IsDefault = true)]
    public IQueryable<RuleEntry> GetRuleEntries()
    {
        var query = this.ObjectContext.RuleEntries.Include("Country1");
        return query;
    }
[查询(IsDefault=true)]
公共IQueryable GetRuleEntries()
{
var query=this.ObjectContext.RuleEntries.Include(“Country1”);
返回查询;
}
这不会产生错误,但国家实体仍不会包含在查询中,因此每行加载一次,这需要很长的timd


谢谢

您检查了发送到数据库的SQL了吗?@GertArnold我不知道在哪里可以看到纯SQL,但这里有一个服务调用的快照,首先加载主表,然后逐个加载所有相关实体。