Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
C# 实体框架多对多相交_C#_Linq_Entity Framework_Many To Many - Fatal编程技术网

C# 实体框架多对多相交

C# 实体框架多对多相交,c#,linq,entity-framework,many-to-many,C#,Linq,Entity Framework,Many To Many,我有一个多对多的关系,我需要如何得到这个结果的帮助 public class Customer { public virtual IList<CustomerPreference> CustomerPreference { get; set; } } public class Preference { public virtual ICollection<CustomerPreference> CustomerPreferece { get; set;

我有一个多对多的关系,我需要如何得到这个结果的帮助

public class Customer {
    public virtual IList<CustomerPreference> CustomerPreference { get; set; }
}

public class Preference {
    public virtual ICollection<CustomerPreference> CustomerPreferece { get; set; }
    public int DefaultValue { get; set; }
}

public class CustomerPreference {
    public int Value { get; set; }
    public virtual Customer { get; set; }
    public virtual Preference {get; set; }
}
公共类客户{
公共虚拟IList CustomerPreference{get;set;}
}
公共阶级偏好{
公共虚拟ICollection CustomerPreferece{get;set;}
public int DefaultValue{get;set;}
}
公共类CustomerPreference{
公共int值{get;set;}
公共虚拟客户{get;set;}
公共虚拟首选项{get;set;}
}
假设我有一个Customer1和Pref1、Pref2、Pref3,默认值为0。 如果我为Pref1插入值为1的CustomerPreference记录,我希望查询此结果

public class Customer {
    public virtual IList<CustomerPreference> CustomerPreference { get; set; }
}

public class Preference {
    public virtual ICollection<CustomerPreference> CustomerPreferece { get; set; }
    public int DefaultValue { get; set; }
}

public class CustomerPreference {
    public int Value { get; set; }
    public virtual Customer { get; set; }
    public virtual Preference {get; set; }
}
客户|偏好|价值
客户1 |首选1 | 1
客户1 |首选2 | 0
客户1 |首选3 | 0


谢谢。

通过从
CustomerPreference
中进行简单的选择,您试图实现的目标是完成的,请确保您包括
Customer
,并且
首选项
是选择结果

var query = from item in context.CustomerPreference
                  .Include(cp=>cp.Customer)
                  .Include(cp=>cp.Preference)
            select new {item.Customer, item.Preference, item.Value};
var result = query.ToList();

您的表不是
ICollections
,即使它应该是多对多关系?不能在LINQ到实体查询中构造实体或复杂类型。首先,您应该修复代码,因为您的属性没有名称
公共虚拟客户参考