automapper项目需要将可为空的<long>转换为布尔值

时间:2019-02-05 15:56:14

标签: c# automapper

我的任务是照顾使用自动映射器构建的Web应用程序,以完成所有数据转换。到目前为止,我已经设法解决了大多数问题,但是目前我确实感到非常困惑。

在数据库中,我有一个名为HasDocuments的字段,该字段定义为bigInt。

enter image description here

此字段保存层次结构数据,但对于此viewModel,它仅用作标志以显示是否存在值。

所以我的viewModel有一个定义为可空布尔的属性。

public bool? HasDocuments { get; set; }

到目前为止一切都很好。

调用数据库时

enter image description here

我已经检查了所有的映射器cfg,没有一个被调用,并且遇到了一些很棒的文章,例如:

AutoMapper ProjectTo() configuration question

从文章中我知道ProjectTo命令不同于MapFrom命令。

我只是不了解这里发生的事情。

有人可以帮忙吗?

更新

根据请求,以下是映射配置。

  CreateMap<Parcel, BaseParcelDataContract>()
            .BeforeMap((s, d) => { System.Diagnostics.Debug.Print("");})
            .Include<Parcel, ParcelDataContract>();

宗地是基础数据库对象,具有HasDocuments属性为可为空的long,BaseParcelDataContract被传递回Controller,并且具有HasDocuments属性为可为null的布尔。

1 个答案:

答案 0 :(得分:0)

我要感谢Luican的回答。最后,我使用了左对齐=>右对齐。但是,是的,李沧Automapper无法执行此操作。除非有人可以告诉我。

授予Luican。