在linq初始化属性中加入两个列表一次

时间:2013-07-18 10:59:07

标签: c# .net linq

我在linq中找到了很多连接列表的例子,但我的确切问题没有解决。

我必须加入列表列表和列表

我初始化了List的所有属性,在加入时我必须再次初始化A的所有属性并从B添加属性。

List<A> listB = from c in country
                select new A
                {
                  CountryId=c.CountryId 
                  CountryName=c.CountryName  
                } ;
List<A> listA = from d in data
                select new A
                {
                  Name = d.Name
                  Age= d.Age,
                  City=d.City,
                  CountryId=d.CountryId   
                } ;

现在初始化List中的Country属性我正在加入这两个列表 此处问题开始

  listA = from d in listA
            join c in listB on d.CountryId=c.CountryId
                    select new A
                    {
                      Name = d.Name
                      Age= d.Age,
                      City=d.City,   
                      Country=c.CountryName
                    } ;

参见上面的联接我必须再次初始化名称,年龄和城市我可以做什么来在一个地方初始化属性。

1 个答案:

答案 0 :(得分:1)

请勿使用listAlistB - 直接加入国家/地区和数据:

from c in country
join d in data
   on c.CountryId equals d.CountryId 
select new A {
      Name = d.Name
      Age = d.Age,
      City = d.City,
      Country = c.CountryName
};

BTW为什么如果AlistA使用listB类,如果两者都包含不同的数据?它应该是两个不同的类