簡體   English   中英

LINQ lambda表達式子查詢在同一個表中查找父記錄

[英]LINQ lambda expression subquery to find a parent record in the same table

是否可以使用lambda表達式在C#中運行此查詢?

SELECT Name
FROM Table
WHERE ID IN (SELECT ParentId FROM Table WHERE Name = 'Child')

所以每行都有一個ID和一個ParentId 我需要按Name搜索子記錄以獲取ParentId ,這是我想要檢索Name的父ID

檢查此代碼:

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;
    }
}

我希望它會對你有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM