我正在尝试返回Obj1类型列表,但首先需要使用IQueryable LINQ语句来拉出这些Obj2类型,该语句为我提供了类型列表,并提供了一种方法,可以将它们转换为通过使用foreach循环应用的所需类型
public List<Obj1> GetObj1List(int id)
{
List<Obj2> obj2List = Select(x => x.ObjTable.Where(a => a.Id == id)).ToList();
List<Obj1> obj1List = new List<Obj1>();
foreach(Obj2 o in obj2List)
{
obj1List.Add(MapObject2ToObject1(o, OtherMethod));
}
return obj1List;
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以包装我的Select语句以将MapObject2ToObject1方法应用到结果而无需foreach一行?
应该很容易。
public List<Obj1> GetObj1List(int id)
{
var obj1List = Select(x => x.ObjTable.Where(a => a.Id == id))
.Select(o => MapObject2ToObject1(o, OtherMethod))
.ToList();
return obj1List;
}
Run Code Online (Sandbox Code Playgroud)
使用更新的方法签名进行了更新 MapObject2ToObject1