如何在 LINQ to Entity 中连接 2 个表?

发布于 2024-12-21 09:01:45 字数 440 浏览 3 评论 0原文

我有 2 张桌子。

TableA :- ID, Name, Type
TableB :- ID, Name, TableAID

我想获取包含 TableA.Name、TableB.Name 的列的结果列表。 我正在使用实体框架。目前,这就是我从 Table1A 获取数据的方式。

IEnumerable<TableAModel> tableAData = DatabaseContext.FromContext().DatabaseName.TableA.AsEnumerable().Select(tableAData => tableAData.ToModel());

我想创建相同的列表,其中还包括 TableB.Name,以便我可以在我的网格中显示该列表?是否可以?

请让我知道该怎么做?

I have 2 tables.

TableA :- ID, Name, Type
TableB :- ID, Name, TableAID

I want to Get the result list with the columns that includes TableA.Name, TableB.Name.
I am using Entity Framework. Currently this is how i get data from Table1A.

IEnumerable<TableAModel> tableAData = DatabaseContext.FromContext().DatabaseName.TableA.AsEnumerable().Select(tableAData => tableAData.ToModel());

I want to create the same list which also includes the TableB.Name so i can have that display in my Grid? Is it possible?

Please let me know how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

醉态萌生 2024-12-28 09:01:45

像这样的东西:

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

参考:join 子句(C# 参考)

Something like this:

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

Ref: join clause (C# Reference)

岁吢 2024-12-28 09:01:45

在谷歌上简单搜索一下就有很多例子。这是第一页上的一个。 链接

A simple search on google has numerous examples. Here was one off the first page. Link

情仇皆在手 2024-12-28 09:01:45

你想要这样的东西,但我不知道你想要达到的确切结果,所以很难准确地说。

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

You want something like this, but I don't know the exact result you want to achieve so it's hard to say precisely.

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()});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文