C# 在数据库中进行更改后,将.edmx实体属性映射到DTO

C# 在数据库中进行更改后,将.edmx实体属性映射到DTO,c#,asp.net-mvc,automapper,C#,Asp.net Mvc,Automapper,我不熟悉自动映射的概念。我在应用程序中使用数据库优先的方法,因此生成了一个.edmx文件,我将.edmx文件中存在的实体映射到DTO 现在我的问题是,每当我通过在模型浏览器中更新数据库来更改.edmx实体文件时,我都必须手动更改DTO实体 所以我怀疑我的映射是否有效。当我更新我的.edmx文件时,是否有任何方法不必手动进行这些更改和DTO的更改? 还是因为我没有正确配置自动映射器 这是我的自动映射器配置 AutoMapperWebConfiguration.cs class AutoMapper

我不熟悉自动映射的概念。我在应用程序中使用数据库优先的方法,因此生成了一个.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>();
    }
}

请让我知道要添加到该配置中的内容,以便我可以随时自动更改DTO实体。edmx实体已更新。

AutoMapper无法更新您的DTO,它只是映射它。最简单的解决方法是在运行时使用Mapper.AssertConfiguration验证配置:

AutoMapper检查以确保每个目标类型 成员在源类型上具有相应的类型成员

另一个更复杂的选项是使用T4模板基于实体类生成DTO