我有两个班级:
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
答案 0 :(得分:3)
是
var allRequiredArtikels = myList.SelectMany(n => n.artikels)
.Where(a => a.name == "requiredName");
SelectMany
展开所有Artikel
元素中的所有NewArtikel
,然后Where
按name
过滤它们。
好的,如果您希望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();