我们可以将匿名类型转换为列表<;T>;使用Linq实现C#中的实体
本文关键字:使用 gt Linq 实现 实体 lt 列表 类型转换 我们 | 更新日期: 2023-09-27 18:22:38
我有一个包含三列的表,我想使用自联接并检索别名列。
表:Material(ID,Name,MaterialParentID)
public List<Material> GetMaterialList()
{
List<Material> materilaList = new List<Material>();
var query = (from c1 in db.Materials
join c2 in db.Materials on c1.ID equals c2.MaterialParentID
select c2);
return query.ToList();
}
我想将以下内容添加到现有查询中,并返回列表
select new { c2.ID, c2.MaterialParentID, c2.Name, ParentName = c1.Name })
只需使用实际的具体类型,而不是匿名类型:
select new Material {
ID = c2.ID,
MaterialParentID = c2.MaterialParentID,
Name = c2.Name,
ParentName = c1.Name
}
foreach(var row in query)
{
material mat =new material();
mat.id=row.ID;
mat.name=row.Name;
materilaList.add(mat);
}
return materiList;