0
我试图将两个不同的实体组合成一个新的实体。这里是我的实体类的一个示例:将两个实体合并为一个使用LINQ
public class CarOne
{
public string Name { get; set; }
public string Model { get; set; }
}
public class CarTwo
{
public int Year { get; set; }
public string Description { get; set; }
}
现在我要保存所有我的两个enties的名单到这个新的实体:
public class CarFinal
{
public string Name { get; set; }
public string Model { get; set; }
public int Year { get; set; }
public string Description { get; set; }
}
这里是我的代码示例:
CarOne carToyota = new CarOne()
{
Name = "Toyota",
Model = "Camry"
};
CarTwo carDetails = new CarTwo()
{
Year = 2012,
Description = "This is a great car"
};
List<CarOne> lstFirst = new List<CarOne>();
lstFirst.Add(carToyota);
List<CarTwo> lstSecond = new List<CarTwo>();
lstSecond.Add(carDetails);
现在这里是我正在尝试做的,我试图结合这两个列表,其中包含相同数量的元素,在这种情况下,两个列表包含一个元素的数量。什么到目前为止,我已经试过是:
var result1 = lstFirst.Select(x => new CarFinal
{
Name = x.Name,
Model = x.Model
}).ToList();
var result2 = lstSecond.Select(x => new CarFinal
{
Year = x.Year,
Description = x.Description
}).ToList();
List<CarFinal> lstFinal = new List<CarFinal>();
lstFinal = result1.Union(result2).ToList();
我也试过:
lstFinal = result1.Concat(result2).ToList();
但是这两种方法的输出都将产生两个元素,这是我想刚才的所有属性合并成一。我期待只有一个实体,但我总是会在我的组合中获得两个元素。
请阅读使用之前的方法! –