2016-12-19 50 views
0

我想有使用实体框架和LINQ做到了这一点。SQL查询:在LINQ如何访问列表中的对象的属性

SELECT DISTINCT Users.ID as UserID, Users.FirstName, Users.Surname, Users.ADID 
FROM Users INNER JOIN Journals ON Users.ID = Journals.UserID 
WHERE(((Journals.CompanyID) = {1})  

所以我需要用户(用户拥有期刊的名单),其中在该Journals.Company.CompanyID(每个日记有一个公司)等于一些CompanyID。

我挣扎创建这个LINQ查询。

+0

LEFT JOIN并在其中添加您的条件我的首选方法是什么? – Furtiro

+0

context.Users.Where(U => u.Journals.CompanyID == ID);如果我正确地想象你的数据上下文,查询应该看起来像这样。 –

+0

请发布您尝试过的样品。 – JuanR

回答

1

您可以尝试如图below.Here db是您的上下文。

(from u in db.Users 
join j in db.Journals on u.ID equals j.UserID 
where j.CompanyID == 1 
select u).Distinct().ToList(); 
1
db.Users.Where(u => u.Journals.Any(j => j.CompanyID == 1)) 

是因为你并不需要使用不同的逻辑(使用对象时感觉怪怪的)