0

我有两节课:

public class Artikel
{
   int id{get;set;};
   string name{get;set;};
}    

public class NewArtikel
{
    int id{get;set;};
    List<Artikel> artikels{get;set;};
}

现在,我有一个二等舱的名单

List<NewArtikel> myList = new List<NewArtikel>()

LINQ to SQL 中是否有任何可能性从 myList 中选择所需的 Artikel.name 的所有元素

4

2 回答 2

3

是的

var allRequiredArtikels = myList.SelectMany(n => n.artikels)
    .Where(a => a.name == "requiredName");

将所有元素中的SelectMany所有Artikels展平,然后通过过滤它们。NewArtikelWherename


好的,如果您想要具有所需名称的NewArtikels ,您可以这样做。Artikel

var newArtikels = myList.Where(n => n.artikels
    .Any(a => a.name == "requiredName"));
于 2012-08-02T09:52:58.313 回答
3
List<NewArtikel> myFinalList = (from artikel in myList.artikels where artikel.name =   "requiredName"
select new NewArtikel(){
Id= artikel.Id

}).ToList();
于 2012-08-02T10:29:26.093 回答