使用automapper和Entity Framework时处理空值

时间:2017-03-27 09:00:08

标签: entity-framework automapper

我使用automapper将值从一个对象映射到另一个对象,然后使用ef6将对象保存到db。我希望Automapper忽略基数中的任何空值,以便EF不会用null覆盖原始存储的值。我已经尝试了以下代码,但似乎属性设置为null,因为存储在db中时删除了值。

有什么想法吗?

cfg.CreateMap<BidBase, ProjectBase>()
                .ForMember(dest => dest.RambollProjectStartDate, opt => opt.MapFrom(src => src.ExpectedProjectStartDate))
                .ForAllMembers(opt => opt.Condition((source, destination, sourceMember) => sourceMember != null));

更新

我已经意识到问题是因为如果源对象中不存在目标对象的属性,则后者将其设置为null。这意味着EF中的值被设置为null。我怎么处理这个?