首页 > C# >  C#中LINQ to SQL 中内部连接的语法是什么?

 C#中LINQ to SQL 中内部连接的语法是什么?

上一篇 下一篇

我正在编写一个 LINQ to SQL 语句,并且我使用的是使用 C# 中的子句进行正常内部连接的标准语法。ON

如何在 LINQ to SQL 中表示以下内容:

select DealerContact.*
from Dealer 
inner join DealerContact on Dealer.DealerID = DealerContact.DealerID

分割线

网友回答:

它像这样:

from t1 in db.Table1
join t2 in db.Table2 on t1.field equals t2.field
select new { t1.field2, t2.field3}

最好为您的表提供合理的名称和字段以获得更好的示例。🙂

更新

我认为对于您的查询,这可能更合适:

var dealercontacts = from contact in DealerContact
                     join dealer in Dealer on contact.DealerId equals dealer.ID
                     select contact;

由于您正在寻找联系人,而不是经销商。

分割线

网友回答:

因为我更喜欢表达式链语法,所以您可以通过以下方式执行此操作:

var dealerContracts = DealerContact.Join(Dealer, 
                                 contact => contact.DealerId,
                                 dealer => dealer.DealerId,
                                 (contact, dealer) => contact);

分割线

网友回答:

要扩展智能人类的表达式链语法答案:

如果要对连接在一起的两个表中的字段执行操作(例如筛选或选择),而不是仅在这两个表中的一个上执行操作,则可以在 Join 方法的最终参数的 lambda 表达式中创建一个新对象,其中包含这两个表,例如:

var dealerInfo = DealerContact.Join(Dealer, 
                              dc => dc.DealerId,
                              d => d.DealerId,
                              (dc, d) => new { DealerContact = dc, Dealer = d })
                          .Where(dc_d => dc_d.Dealer.FirstName == "Glenn" 
                              && dc_d.DealerContact.City == "Chicago")
                          .Select(dc_d => new {
                              dc_d.Dealer.DealerID,
                              dc_d.Dealer.FirstName,
                              dc_d.Dealer.LastName,
                              dc_d.DealerContact.City,
                              dc_d.DealerContact.State });

有趣的部分是该示例第 4 行中的 lambda 表达式:

(dc, d) => new { DealerContact = dc, Dealer = d }

…我们构造一个新的匿名类型对象,该对象具有 DealerContact 和 Dealer 记录的属性,以及它们的所有字段。

然后,我们可以在筛选和选择结果时使用这些记录中的字段,如示例的其余部分所示,该示例用作我们构建的匿名对象的名称,该对象具有 DealerContact 和 Dealer 记录作为其属性。dc_d

模板简介:该模板名称为【 C#中LINQ to SQL 中内部连接的语法是什么?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 237次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 04-16
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
响应式 微信素材 微信公众平台 微信文章 自适应 html5 单页式简历模板 微信模板 企业网站 微信图片
您可能会喜欢的其他模板