将IQueryable转换为List <t>类型</t>

时间:2012-11-27 20:38:10

标签: linq

我刚从DAL使用LINQ执行了一个查询,并获得了一个包含嵌入ILIST对象的记录集合,如下所示

string name
date   startDate
date  endDate
ILIST<MyType> ImbeddedList (this contains more columns like recordID, sentDate, dueDate)

我需要将LIST<T>返回到网格才能被限制。

我在编写LINQ语句以过滤掉IQueryable集合对象时遇到了一些问题。

在下面的陈述中:

IQueryable<All_DATA> cases = dalObject.GetData();
var mylist = cases.Select(s => {s.name, s.startDate, s.endDate,s.ImbeddedList????}).ToList();

当我到达从dalObject返回的ImbeddedList时,intellsense不会显示ImbeddedList中的字段。如何正确编写LINQ语句来过滤ImbeddedList对象中的更多字段?

1 个答案:

答案 0 :(得分:1)

据我所知,你能做的是

ImbeddedList

获取完整列表
var mylist = cases.Select(s => {s.name, s.startDate, s.endDate, s.ImbeddedList}).ToList();

ImbeddedList

获取单个字段
var mylist = cases.SelectMany(s => s.ImbeddedList)
                  .Select(IItem => { IItem.Field1, IItem.Field2 }).ToList();

有关详细信息,请参阅:

  1. The Linq SelectMany Operator
  2. LINQ - Get all items in a List within a List?
  3. Using LINQ, select list of objects inside another list of objects
  4. Use Google Search: "linq select list within list"