Asp.net mvc 自动将错误映射到单个属性

Asp.net mvc 自动将错误映射到单个属性,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,automapper,tinymapper,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Automapper,Tinymapper,如果我有一个自动映射器(如TinyMapper或ExpressMapper)配置为将DTO映射到模型,并且我的DTO已通知我,例如“myDto.Email”未能更新,是否有方法将该属性映射回模型(特别是在我的情况下,用于ModelState.AddModelError目的) 下面是一个小伪代码,希望能澄清我的需求: var mapper = SomeMapper.Register<MyModel, MyDto>(); var myDto = mapper.Map(myModel)

如果我有一个自动映射器(如TinyMapper或ExpressMapper)配置为将DTO映射到模型,并且我的DTO已通知我,例如“myDto.Email”未能更新,是否有方法将该属性映射回模型(特别是在我的情况下,用于ModelState.AddModelError目的)

下面是一个小伪代码,希望能澄清我的需求:

var mapper = SomeMapper.Register<MyModel, MyDto>();

var myDto = mapper.Map(myModel)
var errors = myDto.Update()
if(errors.Any())
{
  var error = errors.First();
  var property = memberConfiguration.GetMeTheModelPropertyFor(dto => dto.PropertyName= error.Property)

  ModelState.AddModelError(property.Name, error.Message);
}
var mapper=SomeMapper.Register();
var myDto=mapper.Map(myModel)
var errors=myDto.Update()
if(errors.Any())
{
var error=errors.First();
var property=memberConfiguration.GetMethMemodelPropertyFor(dto=>dto.PropertyName=error.property)
AddModelError(property.Name,error.Message);
}

因此,基本上我是在问,我可以为上面的
getMethMemodelProperty实现哪些映射,以及如何实现?

我不明白您为什么要这样做。error属性还不够吗?嗨,不,不是真的,因为error属性来自域,因此可能与模型有不同的名称,例如dto.CustomerEmail,但domain.Email,因此@Html.ValidationMessage'不会将域错误与没有映射的模型属性相关联。您可以创建自定义映射@GSerjo,映射属性不是问题,它是获取属性详细信息,这样我就可以将属性的域字符串表示形式(即“CustomerEmail”)解析为域属性“Email”(用于ModelState.AddModelError等MVC方法)。我不明白为什么要这样做。error属性还不够吗?嗨,不,不是真的,因为error属性来自域,因此可能与模型有不同的名称,例如dto.CustomerEmail,但domain.Email,因此@Html.ValidationMessage'不会将域错误与没有映射的模型属性相关联。您可以创建自定义映射@GSerjo,映射属性并不是问题,而是获取属性详细信息,这样我就可以将属性的域字符串表示形式(即“CustomerEmail”)解析为域属性“Email”(用于ModelState.AddModelError等MVC方法)。