Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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# 如何使用单个Linq语句将数据提取到多个实体对象_C#_Entity Framework 4 - Fatal编程技术网

C# 如何使用单个Linq语句将数据提取到多个实体对象

C# 如何使用单个Linq语句将数据提取到多个实体对象,c#,entity-framework-4,C#,Entity Framework 4,我有两个实体类 [Table("Payment")] public class Payment { public Payment() { this.SchemeMember = new HashSet<SchemeMember>(); } [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long PaymentUid { get; set; }

我有两个实体类

[Table("Payment")]
public class Payment
{
    public Payment()
    {
        this.SchemeMember = new HashSet<SchemeMember>();
    }
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long PaymentUid { get; set; }

    /// <summary>
    /// Member U id
    /// </summary>
    public int MemberUid { get; set; }


    public  ICollection<SchemeMember> SchemeMember { get; set; }
}

public class SchemeMember
{
    /// <summary>
    /// Gets or sets Member UID
    /// </summary>
    public int MemberUid { get; set; }
}

有人能帮我解决这个问题吗?提前感谢。

如果映射设置正确,则不需要执行任何操作,使用引用并让EF完成工作

假设您希望查找具有值为“X”的架构成员的付款:

var payments=DbContext.Payment.Where(p=>p.SchemeMember.Any(s=>s.Value==“X”)).ToList()

注意:我使用过流畅的Linq方法,但从未发现类似Linq的SQL语法非常直观。:)

我建议对子集合类使用复数命名约定:即Payment.SchemeMembers,因为它可以非常轻松地从多个关联中直观地解析单个关联(我有一个scheme成员)。(我有多名计划成员)

var result =  (from payment in this.DbContext.Payment
             join schemeMember in this.DbContext.SchemeMember on 
                                   Payment.MemberUid equals 
                                   schemeMember.MemberUid 
             select payment).ToList();