我有2张桌子。 用户 - 拥有userID,userMainGroup和userMinorGroup 任务 - TaskId,UserId
我的目标是: 我有当前的CurrentuserId,我想向他展示来自同一MainGroup的用户创建的所有任务。
在SQL中我会写:
Select *
From Tasks Left join Users on tasks.Id=users.id
Where users.MainGroup=CurrentuserMainGroup; (var)
我如何使用实体框架?
我明白要加入我需要写一些类似的东西:
var tasks = from t in db.tasks
from u in db.users
where t.Id=u.Id
select new {t.Id, t.name....}
但我在哪里把条件放在MainGroup上?
答案 0 :(得分:0)
你可以这样尝试
var data= (from con in db.tasks
let UserMainGroup = db.users.where(x=>x.id==con.id).FirstOrDefault()
where UserMainGroup.MainGroup=CurrentuserMainGroup
select new {
ID=con.id,
Name=con.name
}).ToList();
我认为这会对你有帮助.......
答案 1 :(得分:0)
建议您使用导航属性而不是手动编码的连接:
from t in db.Tasks
where t.User.MainGroup == currentuserMainGroup
select new {t.Id, t.name.... , t.User.Name, ... }