问题描述
我正在尝试开发企业级应用程序。我有域和应用程序服务。我已经为多个目的分别创建了我的DTO。但是从API的角度来看,应该使用哪种方式感到困惑。
我有复杂的对象可以说
public class Entity{
public int Id { get; set; }
public string Name { get; set; }
public int? ManufacturerId { get; set; }
public virtual Manufacturer Manufacturer { get; set; }
}
public class Manufacturer{
public int Id { get; set; }
public string Text { get; set; }
}
现在我已经设计了具有合成功能的相应DTO。以前是分开的。
public class EntityBaseDto{
public string Name { get; set; }
}
public class EntityReadDto : EntityBaseDto{
public string Manufacturer { get; set; }
}
public class EntityWriteDto : EntityBaseDto{
public int? ManufacturerId { get; set; }
}
现在的问题是,
我有一个用List<EntityReadDto>
填充的表格,很明显。以前,EntityReadDto
的{{1}}也包含ID和文本。每当我需要编辑表中的一项时,便能够加载下拉列表中的所选项目或标签列表,以及带有附加在ReadDtos中ManufacturerDto
对象上的ID的列表。现在不可能了。由于我想简化代码,所以我只将它们转换为只读字符串。现在,我创建了另一个端点,以便在需要时获取记录的可编辑版本。例如:单击特定项目上的编辑时,将使用Manufacturer
来填写表格。该操作将在该DTO上进行,并与PUT类型请求一起发送以编辑记录。
对于这种情况,我不确定这种方法是否可行。最佳做法是什么?我有许多与其他表中的实体相关的对象。可以打电话从后端获取可编辑的版本,还是需要立即在VUEjs应用中使用它?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)