我是AutoMapping概念的新手。我正在为我的应用程序使用数据库第一种方法,因此生成了一个.edmx文件,我已经将我的.edmx文件中存在的实体映射到了DTO&#39。
现在我的问题是每当我通过在模型浏览器中更新数据库来更改.edmx实体文件时,我必须手动更改DTO entites,
所以我怀疑我的映射是否有效。当我更新我的.edmx文件时,有什么方法我不必手动进行这些更改并且DTO会发生变化吗? 或者是因为我没有正确配置我的自动播放器?
这是我的自动映射器配置。
AutoMapperWebConfiguration.cs
class AutoMapperWebConfiguration
{
public static void Configure()
{
Mapper.Initialize(cfg =>
{
cfg.AddProfile(new UserProfile());
cfg.AddProfile(new PostProfile());
});
}
}
UserProfile.cs
public class UserProfile : Profile
{
protected override void Configure()
{
Mapper.CreateMap<tabletest,tabletestDTO>();
}
}
请让我知道要添加到此配置中的内容,以便我可以自动更改我的DTO entites evey time .edmx实体已更新。
答案 0 :(得分:0)
AutoMapper无法更新您的DTO,它只是映射它。最简单的解决方法是使用Mapper.AssertConfigurationIsValid()
method在运行时验证您的配置:
AutoMapper会检查以确保每个目标类型 member在源类型上有一个对应的类型成员。
另一个(也是更复杂的)选项是使用T4模板基于实体类生成DTO。