我将使用automapper (用于.net 3.5)进行翻译。下面是一个示例,以说明我的目的:
我想要将一个A对象映射到一个B对象。类定义:
映射代码:
我希望生成的对象 b 能够被 CB 的一个实例填充。 因此,AutoMapper 需要知道 A 映射到 B,CA 映射到 CB,并在创建 B 时将其 MyI 属性填充为 CB。 我应该如何指定这个映射?
我想要将一个A对象映射到一个B对象。类定义:
class A
{
public I1 MyI { get; set; }
}
class B
{
public I2 MyI { get; set; }
}
interface I1
{
string StringProp1 { get; }
}
interface I2
{
string StringProp1 { get; }
}
class CA : I1
{
public string StringProp1
{
get { return "CA String"; }
}
public string StringProp2 { get; set; }
}
class CB : I2
{
public string StringProp1
{
get { return "CB String"; }
}
public string StringProp2 { get; set; }
}
映射代码:
A a = new A()
{
MyI = new CA()
};
// Mapper.CreateMap ...?
B b = Mapper.Map<A,B>(a);
我希望生成的对象 b 能够被 CB 的一个实例填充。 因此,AutoMapper 需要知道 A 映射到 B,CA 映射到 CB,并在创建 B 时将其 MyI 属性填充为 CB。 我应该如何指定这个映射?