0

我刚刚LINQ从 DAL 执行了一个查询,并获得了一个带有嵌入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 时,智能感知不会显示 ImbeddedList 中的字段。如何正确编写LINQ语句以过滤 ImbeddedList 对象中的更多字段?

4

1 回答 1

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. Linq SelectMany 运算符
  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"
于 2012-11-27T21:04:01.340 回答