Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#lambda表达式问题-如何使用以下SQL中的lambda语句连接两个表?_C#_Sql_Lambda_Expression - Fatal编程技术网

C#lambda表达式问题-如何使用以下SQL中的lambda语句连接两个表?

C#lambda表达式问题-如何使用以下SQL中的lambda语句连接两个表?,c#,sql,lambda,expression,C#,Sql,Lambda,Expression,我有两个表,我想使用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是另一个数据集/变量,那么我想要类似的东西 board.Join(category).Where(b=>b.bid==c.cid)(我知

我有两个表,我想使用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是另一个数据集/变量,那么我想要类似的东西
board.Join(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 });

SQL没有lambda表达式。我想要下面的SQL的C#lambda表达式。这个SQL只是一个示例,我想知道的是如何使用lambda表达式连接两个数据集。也许看看吧?你没有给任何东西可以使用。你试过什么?举一些例子。为什么我的帖子会降级(它连接两个集合并对结果进行分组,因此在本例中,您将得到一个董事会没有相应类别的组。