0

これは簡単で汚いですが、アイデアが得られるはずです。以前にやったことがありますが、どこでやったかわかりませんし、あまりにも長い間覚えていません。複数レベルのリストを検索する必要があります....

例:「豚」で検索

var query = context.Farms.OrderBy(x => x.FarmName).Select(f => new FarmItem
{
    FarmId = f.FarmId,
    FarmName = f.FarmName,                    
    Fields = f.Fields.OrderBy(x => x.FieldName).Select(d => new FieldItem
    {
        FieldId = d.FieldId,
        FieldName = d.FieldName,
        Animals = d.Animals.OrderBy(x => x.AnimalName).Select(a => new AnimalItem
        {
            AnimalId = a.AnimalId,
            AnimalName = a.AnimalName
        })
    })
});

"pig" が FarmName、FieldName、または AnimalName に含まれているかどうかを確認する必要があります。

  1. 名前に「pig」が含まれていて、そのすべてがフィールドであり、フィールドの動物である場合は、農場を返します
  2. 名前に「豚」が含まれるフィールド、農場、およびフィールドのすべての動物を返します
  3. 名前に「豚」が含まれるプランと畑、畑の農場を返す
4

1 に答える 1