【发布时间】:2015-06-29 07:42:26
【问题描述】:
我的 DTO 太相似了。
它们的区别仅在于标识测试资源的一个属性。
当我现在创建一个 EditAddTestDTO 并制作
public int<Nullable> TestId {get;set;}
然后我不能把 RequireAttribute 放在它上面,因为它在我显然没有 TestId 的 Create-Scenario 中不起作用。
你如何解决这个问题?
创建 2 个我已有的 DTO 或 AddEditBaseDTO?
public class EditTestDTO
{
[Required]
public DateTime Date { get; set; }
[Required]
public int Number { get; set; }
[Required]
public int SchoolclassCodeId { get; set; }
[Required]
public int SchoolyearId { get; set; }
[Required]
public int TestTypeId { get; set; }
[Required]
public int TestId { get; set; }
}
public class CreateTestDTO
{
[Required]
public DateTime Date { get; set; }
[Required]
public int Number { get; set; }
[Required]
public int SchoolclassCodeId { get; set; }
[Required]
public int SchoolyearId { get; set; }
[Required]
public int TestTypeId { get; set; }
}
【问题讨论】:
-
首先——为什么要创建一个需要的可为空的属性?
-
因为...“那我不能把 RequireAttribute 放在它上面,因为它在我没有 TestId 的 Create-Scenario 中不起作用。”
标签: c# asp.net-web-api dto data-transfer-objects