使用加入问题获取列表

时间:2012-03-16 19:30:56

标签: c# linq

我正试图抓住所有加入公司的用户

var users = CreateObject<User>();
var companies = CreateObject<Company>();

var companyUsers = users
    .Where(u => u.IsEmployee)
    .Join(companies, u => u.UserId, c => c.UserId, (u, c) => u.UserId)
    .ToList();

问题:我正在尝试返回类型为List的companyUsers,我的方法的返回类型是此代码所在的List,但是当我为此方法返回companyUsers时,我得到List无法转换为List的错误

我认为这只是一个语法错误,LINQ试图返回不同的类型,因为我查询中的语法问题是我看不到的。

1 个答案:

答案 0 :(得分:1)

  

基本上它是说我不能将返回的LINQ类型分配给我的companyUsers并且公司用户是List<User>

您没有选择用户,而是在查询中选择用户ID 。然后输出是List<X>,其中XUserId的类型(我认为它是int或其他基本类型)。

要修复此问题以获取List<User>,请更改您的联接以生成不同的输出。

.Join(companies, u => u.UserId, c => c.UserId, (u, c) => u)
.ToList();