簡體   English   中英

如何合並 linq 查詢?

[英]How to merge linq queries?

我有一個自引用的 class。

public class MyPerfectClass 
{
    public bool IsActive { get; set; }
    public Guid? ParentId { get; set; }
    public MyPerfectClass? Parent { get; set; }

    private readonly List<MyPerfectClass> _children = new();
    public IReadOnlyCollection<MyPerfectClass> Children => _children.AsReadOnly();
}

我需要獲取 ChildItem 的 IsActive 為 true 的所有“MyPerfectClass”。 我可以編寫兩個單獨的查詢,但無法根據兒童過濾獲取父母和兒童。 有什么建議嗎?

這是你想要的?

List<MyPerfectClass> parentsList = new List<MyPerfectClass>();
var results = parentsList.Where(p => p.Children.Any(c => c.IsActive));

ALL、ANY 和其他查詢可用於嵌套對象。

MyPerfectClass 有一個 MyPerfectClass 的實例來定義父級似乎有點不對勁。 MyPerfectClass 上的 Parent object 實例可能不共享在定義父級的 MyPerfectClass 上定義的子級。 可能導致混亂。

暫無
暫無

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

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