从两个不同的表中获取具有属性的类的列表
本文关键字:获取 属性 列表 两个 | 更新日期: 2023-09-27 18:19:04
我有两个不同的实体,
class Department
{
int DepID;
string DepName;
}
class Emp
{
int Empid;
string Empname;
int Empage;
int EmpDep; //id of department
}
,我正在使用Linq中的连接获得具有DepName的Emp列表,我想直接将此值分配给datagrid。
所以我的问题是如何将数据转换成列表,以及这个列表的对象类型是什么。
谢谢
生成的类型将是一个匿名类型。我不认为您可以直接将结果List转换为特定类型的List,除非您明确定义了该类型。
因此,如果您将.ToList()
放在查询的末尾,您将获得var
类型对象中匿名类型的列表。
为什么这里需要强类型?你可以将数据网格项目源设置为从LINQ
类似
employees.Join(departments, e => e.EmpDep, d => d.DepId,
(e,d) => new EmpView { EmpName = e.EmpName, DepName = d.DepName }).ToList()
,我使用类型EmpView
绑定到网格。(通过这种方式,您可以创建一个生成EmpViews的方法,以及另一个执行数据绑定和关注点分离的方法或组件)。