如何将LINQ中的2个表连接到实体
本文关键字:连接 实体 2个 中的 LINQ | 更新日期: 2023-09-27 18:18:04
我有2个表。
TableA :- ID, Name, Type
TableB :- ID, Name, TableAID
我想获得包含TableA的列的结果列表。名字,TableB.Name。我正在使用实体框架。目前,这就是我如何从表1a获取数据。
IEnumerable<TableAModel> tableAData = DatabaseContext.FromContext().DatabaseName.TableA.AsEnumerable().Select(tableAData => tableAData.ToModel());
我想创建同样的列表,其中也包括TableB。这样我就可以在我的网格中显示它了?这可能吗?
请告诉我该怎么做?
像这样:
var db = DatabaseContext.FromContext();
var result = (from a in db.TableA
join b in db.TableB on a.ID equals b.TableAID
select new {
AID = a.ID,
AName = a.Name,
AType = a.Type,
BName = b.Name}).ToList();
在google上简单搜索一下就有很多这样的例子。这是第一页上的一张。链接
你想要这样的东西,但我不知道你想要达到的确切结果,所以很难准确地说出。
var db = DatabaseContext.FromContext().DatabaseName;
var AllData = from A in db.TableA
from B in db.TableB
where A.ID == B.TableAID
select new {A,B};
var Result = AllData.AsEnumerable().Select(dat=>new{A=dat.A.ToModel(),B=dat.B.ToModel()});