同一实体拥有多个 Dto 的最佳实践?

问题描述 投票:0回答:1

我正在使用 EF Core 并采用数据库优先的方法开发 .NET Core 应用程序。我的目标是在处理同一实体的多个请求时增强我的方法。

目前,我拥有拥有大量房产的实体。对于每个实体,我设置了一个映射配置文件,将其转换为相应的视图模型,例如 Example1ViewModel,其中包含 GetAll 或 GetById 请求所需的所有实体属性。

public class Example1
{
  prop1
  prop2
  ....
  propN
}

此外,还有一个 EF 配置文件。

CreateMap<Example1, Example1ViewModel>().ReverseMap();

public class Example1MapConfiguration : IEntityTypeConfiguration<Example1>
 {
     public void Configure(EntityTypeBuilder<Example1> builder)
     {
         builder.ToTable("Tb_Example", "dbo");

         builder.HasKey(x => x.Example1Id);
         ......
    }

现在,由于我的应用程序涉及多个屏幕和表单,每个屏幕和表单都利用部分或全部实体属性,因此我正在考虑最佳方法。具体来说,当我只需要某些请求的实体属性的子集时,最佳策略是什么?我是否应该为每种情况创建一个新的 ViewModel,仅包含所需的属性?这样,我可以避免响应中不必要的字段并确保更高效的系统。

c# entity-framework viewmodel
1个回答
0
投票

多个请求应映射到控制器中的单个命令。然后您可以管理服务中的单个入口点。还尝试解耦身份验证事物,以避免服务耦合或添加中间应用程序服务

© www.soinside.com 2019 - 2024. All rights reserved.