在数据库中进行更改后将.edmx entities属性映射到DTO
本文关键字:entities edmx 属性 映射 DTO 数据库 | 更新日期: 2023-09-27 18:13:40
我对AutoMapping的概念很陌生。我使用数据库优先的方法为我的应用程序,所以一个。edmx文件生成,我已经映射实体存在于我的。edmx文件与DTO的。
现在我的问题是每当我通过在模型浏览器中更新数据库来更改。edmx实体文件时,我必须手动更改DTO实体,
所以我怀疑我的映射是否有效。有没有什么方法可以让我在更新.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>();
}
}
请让我知道在这个配置中添加什么,以便我可以在每次.edmx实体更新时自动更改我的DTO实体。
AutoMapper不能更新你的dto,它只是映射它。一个最简单的解决方法是使用Mapper.AssertConfigurationIsValid()
方法在运行时验证您的配置:
AutoMapper检查以确保每个目的地类型成员在源类型上具有相应的类型成员。
另一个(更复杂的)选项是使用T4模板基于实体类生成dto。