是否可以使用lambda表达式在C#中运行此查询?
SELECT Name
FROM Table
WHERE ID IN (SELECT ParentId FROM Table WHERE Name = 'Child')
因此每行都有一个ID
和一个ParentId
。我需要按Name
搜索子记录,以获取ParentId
,这是我想要检索ID
的父级的Name
。
答案 0 :(得分:3)
检查此代码:
var l = Table.Where(x => Table.Where(n => n.Name == "child")
.Select(n => n.ParentId).Any(y => y == x.Id)).Select(y=>y.Name);
我用这个类来测试结果:
class Person
{
public int Id { get; set; }
public int ParentId { get; set; }
public string Name { get; set; }
public Person(int id, int parentId, string name)
{
Id = id;
ParentId = parentId;
Name = name;
}
}
我希望它会对你有所帮助。