c#-如何防止AutoMapper映射类
发布时间:2022-07-09 23:30:18 249
相关标签: # flask
我想防止autoMapper能够映射我的类。首先,我创建一个私有构造函数和一个限制映射的内部构造函数。
private Foo()
{
}
internal Foo(
FooValidation valid,
[CallerMemberName] string caller = null
)
{
if (caller != "CreateAsync")
throw new CustomErrorException("Use Factory class!");
if(valid.SouceId<0)
throw new CustomErrorException("Foo with no Source");
SourceId = valid.SouceId;
//Just an example
}
这种映射不起作用:
var fooDto = ObjectMapper.Map(x);
但在更新时,仍然可以在不通过工厂类的情况下进行映射,并且内部构造函数中的规则将被忽略。例如:
var foo = await _fooRepository.GetAsync(id);
foo = ObjectMapper.Map(input, foo);
await _fooRepository.UpdateAsync(foo);
你知道我能做什么吗?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报