【发布时间】:2018-08-28 17:11:25
【问题描述】:
我已检索到员工列表。我的员工类别列(employeeId、lastname、genderid)
List<m_employees> Items = new List<m_employees>
{
new m_employees{ employeeid = 1, lastname = "mike", genderid = 1 },
new m_employees{ employeeid = 2, lastname = "jeni", genderid = 2 }
};
然后我有我的性别类列(id,title)
List<m_genders> genders = new List<m_genders>
{
new m_genders{ id = 1, title = "Male" },
new m_genders{ id = 2, title = "Female" }
};
//then i tried joining the retrieved list of employees to the genders
var x = from emp in Items
join sex in genders
on emp.genderid equals sex.id
into a from b in a.DefaultIfEmpty(new m_genders())
select new
{
emp.lastname,
emp.genderid,
sex = b.title
};
红色错误行显示给关键字 join 并显示“join 子句中的表达式类型不正确...”
我怎样才能正确加入他们?
【问题讨论】:
-
完成。它只是一个员工列表
-
请发布 m_employees 和 m_genders 课程。
-
您的代码运行良好!在这里查看:dotnetfiddle.net/7geOVL
-
错误信息告诉你
m_genders.id和m_employees.genderid不是兼容的类型。由于上面不是这种情况,我很确定这个示例代码与真实代码不同。也许您将 int 用于一个,而将 string 用于另一个。然后你要么必须改变它,要么使用int.Parse或int.ToString使它们兼容。