假设源数组有两个元素,目标数组有五个元素,如何使用automapper进行映射,使映射后目标数组仍然有五个元素?
例如:
class A {
public int Id;
public string Name;
}
class B {
public int Id;
public string Name;
public DateTime? DateOfBirth;
}
var la = new List<A> {
new A { 1, "A1" },
new A { 2, "A2" }
};
var lb = new List<B> {
new B { 1, "B1", new DateTime(2011, 2, 12) },
new B { 2, "B2", new DateTime(2011, 3, 12) },
new B { 3, "B3", new DateTime(2011, 4, 12) },
new B { 4, "B4" },
new B { 5, "B5" }
};
映射后,类似
mapper.Map(la, lb);
我想得到这样的磅:
{
{ 1, "A1", "2011-2-12" },
{ 2, "A2", "2011-3-12" },
{ 3, "B3", "2011-4-12" },
{ 4, "B4" },
{ 5, "B5" }
};
但是,我实际得到的磅看起来像
{
{ 1, "A1", "2011-2-12" },
{ 2, "A2", "2011-3-12" }
}
如何做?我认为关键是如何创建合适的自动映射器“配置文件”???预先感谢!
您有
la
和 lb
,在我们的示例中,la
的元素少于 lb
。所以,你可以
myResult.AddRange(lb.Skip(myResult.Count()));
假设
Map
的结果是可枚举的。