Linq to sql如何从列表中选择元素

时间:2012-08-02 09:44:07

标签: sql linq-to-sql

我有两个班级:

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

2 个答案:

答案 0 :(得分:3)

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

SelectMany展开所有Artikel元素中的所有NewArtikel,然后Wherename过滤它们。


好的,如果您希望NewArtikel具有Artikel所需的名称,您可以这样做。

var newArtikels = myList.Where(n => n.artikels
    .Any(a => a.name == "requiredName"));

答案 1 :(得分:3)

List<NewArtikel> myFinalList = (from artikel in myList.artikels where artikel.name =   "requiredName"
select new NewArtikel(){
Id= artikel.Id

}).ToList();