小编s13*_*045的帖子

LINQ with Method Syntax中的JOIN和LEFT JOIN等效项

我正在将SQL查询转换为LINQ,它创建一个带有1对1映射的左连接,并且它必须位于方法语法中.我一直在脱掉我的头发试图完成这个没有面纱.我可以在Lambda语法中完成.下面是我尝试运行的示例查询.它们不是实际代码.有人会指出我做错了什么吗?

SQL:

SELECT item.*, item_status.*
FROM item
LEFT JOIN item_status 
    ON item.ID = item_status.itemID
    AND item_status.FLAGGED = true
WHERE item.published_date > "2008-06-19"
Run Code Online (Sandbox Code Playgroud)

LINQ:

var linq_query = (
    from selected_item in item
    join selected_item_status in item_status
        on selected_item.ID equals item_status.itemID into joined
    from item_status in joined.DefaultIfEmpty()
    where item_status.FLAGGED = true
    select new {selected_item, selected_item_status}).ToList();
Run Code Online (Sandbox Code Playgroud)

sql linq entity-framework

6
推荐指数
1
解决办法
5098
查看次数

标签 统计

entity-framework ×1

linq ×1

sql ×1