我想用 LINQ
写一个 SQL 查询这是我的查询
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的地方有点不同我需要用户ID 基于其来自 M_User 表的名字和姓氏。 如何在名字+姓氏的基础上获得 UserId 。
这是我的 LINQ CODE 用于检索用户名
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
答案 0 :(得分:1)
您必须使用您的模型名称替换下面提到的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();