自动映射器映射具有 HAS-A 关系的对象

本文关键字:映射 关系 HAS-A 对象 | 更新日期: 2023-09-27 18:33:24

Holla,

我有一个数据访问对象,如下所示:

class Foo : IStorable
{
  string name;
  int age;
  .. many more
}

我还有另一个这样的对象:

class FooViewModel
{ 
  Foo data;
  Bar moreData;
  Car evenMore
}

所以我正在从数据库中读取Foo对象,我必须构造一个ViewModel。ViewModel 有一个 Foo 对象和其他一些对象。我想将Foo映射到ViewModel的Foo。

如何使用自动映射器映射它?

Mapper.CreateMap<Foo, FooViewModel>();

这行得通吗? 我将如何访问它?

本质上我有很多属性的类,我想避免打字(懒惰)

自动映射器映射具有 HAS-A 关系的对象

FooViewModel 应该具有您想要映射的 Foo 的所有属性,而不是 'Foo' 属性。

然后,您将能够使用AutoMapper将Foo映射到FooViewModel,并且Foo拥有的任何关系依赖关系都不会最终出现在FooViewModel中。