C# 如何在EF 5中实现简单的多对多

C# 如何在EF 5中实现简单的多对多,c#,entity-framework-5,C#,Entity Framework 5,在典型的多对多关系中,我有一组足够简单的表格 TableA=>TableAB我认为简单使用LINQ语法更容易: var result = from a in db.TableA join ab in db.TableAB on a.AID equals ab.AID join b in db.TableB on ab.BID equals b.BID where a.AID == 5 sele

在典型的多对多关系中,我有一组足够简单的表格


TableA=>TableAB我认为简单使用LINQ语法更容易:

var result = from a in db.TableA
             join ab in db.TableAB on a.AID equals ab.AID
             join b in db.TableB on ab.BID equals b.BID
             where a.AID == 5
             select b;

当然,您可以使用静态可枚举扩展方法编写,事实上,编译器就是这样做的,但是更难,因为您必须创建一些对象来存储每个联接操作的结果。所以我就让编译器帮你做吧。

任何能让我得到结果的东西……我都可以在截止日期过后修改它。我现在就试试你的结果,如果有效的话,我会回来接受的。干杯
Entities db = new Entities()

public List<TableB> GetBData(int AID)
{
    var tableAdata = db.TableA.Where(a => a.AID == AID)

    List<TableAB> tableB = new List<TableB>();
    foreach (var a in tableAData)
         tableB.BID = db.TableB.BID
}
var result = from a in db.TableA
             join ab in db.TableAB on a.AID equals ab.AID
             join b in db.TableB on ab.BID equals b.BID
             where a.AID == 5
             select b;