首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查询(LINQ)多表关联链接?

如何查询(LINQ)多表关联链接?
EN

Stack Overflow用户
提问于 2009-01-10 10:38:06
回答 2查看 5.7K关注 0票数 0

我有一些表关联,例如(CaseClient是一个桥接表):

CaseClients

  • Client有很多
  • 的案例,有很多的CaseClient

最简单的方法就是使用数据库中的视图,但是我听说通过linq,您可以以某种方式加入吗?或者我应该只是在数据库中创建视图,然后再对该视图进行linq查询?

我很感谢你的评论

EN

回答 2

Stack Overflow用户

发布于 2009-01-10 10:47:41

我认为您希望从桥接表中使用联接方法,并解决每个关系。例如。

代码语言:javascript
复制
// Where CaseId and TypeId are your members of CaseClient
var x = caseClients.Join( cases, cc => cc.CaseId, c => c.Id)
                                .Join( types, cc => cc.TypeId, t => t.Id)
                                .Select();

以上代码未经测试(到目前为止)和内存。您可能需要在这两个联接之间放置一个选择。

票数 0
EN

Stack Overflow用户

发布于 2009-05-16 18:46:04

这是我在一个非常相似的情况下所做的调整。只有改名才能保护无辜的人。

代码语言:javascript
复制
IEnumerable<Case> getCaseByClient(int client_id)
{
    var ret = from c in Cases
              join cc in CasesClients
                on c.Id equals cc.ClientId
              join cl in Clients
                on cc.ClientId equals client_id
              select c;
    return ret;
}

当然,这假设您的client_id字段是一个int,但这很容易修改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/430840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档