添加所需的」屬性數據模型,我有這樣的數據傳輸模式:.NET MVC 4.5 - 在運行時
[DataContract]
[Serializable]
class PersonDTO {
[DataMember(Name="id")]
public int id { get; set; }
[DataMember(Name="name")]
[Required]
public string name { get; set; }
}
我希望能夠使用本模型用於創建和更新操作的問題在這裏當創建一個新的Person時,它的id還不存在(因此缺少[Required]註釋)。但是在更新時,id已經存在,並且必須是必填字段。
在我的控制器中,我有這些操作:
public class PersonController {
[HttpPut]
public void UpdatePerson(PersonDTO person) {}
[HttpPost]
public void CreatePerson(PersonDTO person) {}
}
有沒有辦法在兩種操作中使用相同的DTO,但是爲其中一個操作需要使用字段'id',所以ModelState會失敗?我知道我可以通過檢查person.id == null
來手動完成,但我正在尋找一種自動解決方案(如果存在)。