【发布时间】:2015-03-24 14:58:24
【问题描述】:
提供的 Linq 语句旨在仅带回有孩子读过《哈克……》一书的父母的数据。但由于某种原因,我的查询似乎忽略了Where 子句,因为我每次都返回整个数据集Parents。这个查询在哪里失败?为什么Where 似乎不影响结果?
List<Parent> we = Parents.Select(par => new Parent
{
ParentID = par.ParentID,
Children = parents.SelectMany(parData => parData.Children).ToList().Where(child => new Child
{
ChildID = child.ChildID,
Books = child.Books
}.Books.Contains("Huck........")).ToList()
}).ToList();
类
public class Parent
{
public Parent() { }
public int ParentID { get { return _parentID; } set { _parentID = value; } }
public List<Child> Children { get { return _child; } set { _child = value; } }
}
public class Child
{
private int _childID;
private List<string> _targets;
public Child() { }
public int ChildID { get { return _childID; } set { _childID = value; } }
public List<string> Books { get { return _books; } set { _books = value; } }
}
表格
Parent ID | Parent | Child ID | Child | Books
1 | John | 4 | Suzy | Grapes of...
1 | John | 4 | Suzy | Huck........
1 | John | 5 | James | The adven...
2 | Sally | 4 | Suzy | Grapes of...
2 | Sally | 4 | Suzy | Huck........
2 | Sally | 5 | James | The adven...
3 | Fred | 6 | Jane | Purple......
【问题讨论】:
-
我想知道
Convert.ToInt32("Huck........")在转换为 SQL 时会转换成什么。这没有任何意义。您正在尝试将字符串转换为数字。哇? -
不确定是否严重... o.o
-
@spender 抱歉,打错了。没有更多的转化。
-
@Volearix 但这不会编译。 Books 是一个整数列表,而不是字符串...
-
@Volearix 编辑将这个问题从一个有意义的问题变成了一个无用的问题,代码无法编译。