C#lambda表达式问题-如何使用以下SQL中的lambda语句连接两个表
本文关键字:连接 语句 两个 lambda 中的 问题 表达式 何使用 SQL C#lambda | 更新日期: 2023-09-27 17:58:34
我有两个表,我想使用Lambda语句(不是Linq,而是Lambda)来连接它们。
这是我需要的查询:
SELECT
c.*
FROM
board as b
LEFT JOIN category as c ON
b.cid = c.cid
WHERE
b.bid = 1
我该怎么做?
假设board是一个数据集/变量,而category则是另一个数据集中/变量,那么我想要一些类似板加入(类别)。Where(b=>b.bid==c.cid)(我知道这是错误的,但只是为了让你知道我在寻找什么,非常感谢你的帮助
如果你指的是linq的方法语法而不是查询语法,那么你可以进行
var results = context.boards.Where(b => b.bid == 1)
.DefaultIfEmpty()
.Join(context.categories,
b => b.bid,
c => c.cid,
(b, c) => c);
您可以使用类似的组联接
var qry = boards.GroupJoin(
categories,
b => b.CategoryID,
c => c.CategoryID,
(x, y) => new { Board = x, Categories = y })
.SelectMany(
x => x.Categories.DefaultIfEmpty(),
(x, y) => new { Board = x.Board, Category = y });