我有两个不同的实体,
class Department
{
int DepID;
string DepName;
}
class Emp
{
int Empid;
string Empname;
int Empage;
int EmpDep; //id of department
}
我使用Linq中的连接获取带有DepName的Emp列表,我想直接将此值分配给datagrid。
所以我的问题是如何将数据转换为列表以及该列表的对象类型。
由于
答案 0 :(得分:2)
结果类型将是匿名类型。我不认为您可以直接将结果List转换为特定类型的List,除非您已明确定义该类型。
因此,如果您将.ToList()
放在查询的末尾,您将获得var
类型对象中的anonoymous类型列表。
为什么你需要强类型?您可以将数据网格项源设置为等于从LINQ
获得的列表答案 1 :(得分:1)
像
这样的东西employees.Join(departments, e => e.EmpDep, d => d.DepId,
(e,d) => new EmpView { EmpName = e.EmpName, DepName = d.DepName }).ToList()
我使用类型EmpView
绑定到网格。 (这样,您可以创建一个生成EmpView的方法和另一个方法 - 或组件 - 进行数据绑定,关注点分离。)