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();