在linq中如何访问列表中对象的属性

时间:2016-12-19 14:56:20

标签: c# entity-framework linq

我正在尝试使用实体框架和linq完成此SQL查询:

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查询。

2 个答案:

答案 0 :(得分:1)

您可以尝试如下所示。这里是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 :(得分:1)

db.Users.Where(u => u.Journals.Any(j => j.CompanyID == 1))

是我的首选方式,因为您不需要使用不同的逻辑(在处理对象时感觉很奇怪)