gpt4 book ai didi

entity-framework - Sql to LINQ 查询 LINQ 查询转换

转载 作者:行者123 更新时间:2023-12-02 03:12:26 25 4
gpt4 key购买 nike

我有一个 SQL 查询,我想用 LINQ 编写

这是我的查询

SELECT DISTINCT * 
FROM [IHQDB].[dbo].[Table1] as t1
inner join Table2 as t2 on t2.Table2 =t1.ChangedItemID
inner join Table3 as t3 on t3.Table3 = t1.FromUserID
where (t1.FromUserID=1 And t2.ContentItemID= t1.ChangedItemID)
OR (t2.LastModifiedBy=1 or t2.CreatedBy=1 )

您好,现在它工作正常,但我的查询在 1 的地方有点不同我需要我的 userID 基于他们的名字和姓氏来自 M_User 表。如何根据 First Name + Last Name 获取 UserId

这是我用于检索用户名的LINQ 代码

linq4 = from q in context.T_ContentItems
join p in context.M_Users on q.CreatedBy equals p.UserID
where (advanceKeyword.Contains(p.EmployeeFirstName + " " + p.EmployeeLastName)) select q;
advancechk12 = linq4.ToList();

============================================= =========================

我需要的是,无论我在何处写入值“1”(例如 t2.CreatedBy=1),我都需要找到 UserID。为简单起见,我能够在 advancechk12 中获取所有过滤用户的名称。如何检索 advancechk12

中返回的用户名列表的 UserID

最佳答案

您必须将下面提到的 Linq 查询替换为您的模型名称。我只是使用了与 T-Sql 相同的名称。

 var t1List =   (from t1 in db.Table1
join t2 in db.Table2 on t1.ChangedItemID equals t2.Id
join t3 in db.Table3 on t3.Id equals t1.FromUserID
where ((t1.FromUserID=1 && t2.ContentItemID= t1.ChangedItemID) || (t2.LastModifiedBy=1 or t2.CreatedBy=1))
select t1).Distinct().ToList();

关于entity-framework - Sql to LINQ 查询 LINQ 查询转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39178438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com