我曾經在某處看過如何在博客上做這個,但我忘記了在哪裏或如何。可以說我在類庫中有一個域。我想數據註釋這個域的屬性作爲我的viewmodel在web項目中。ASP.NET MVC數據註釋在web項目中的域模型
我該如何做到這一點?
例如。您正在訪問的是在我的類庫:
public class Person {
public int Id {get; set;}
public string FirstName {get; set;}
}
在我的web項目中,有這樣的:
//Do i need to set some attribute here?
public class CreatePersonViewModel{
[Required()]
[DisplayName("First Name")]
public string FirstName {get; set;}
}
該代碼可以被映射到Person
不使用工具。可能是部分或某事。
不,你不需要設置屬性,你有'//我需要在這裏設置一些屬性嗎?如果您的控制器操作具有參數類型「CreatePersonViewModel」,則驗證屬性將運行以確定「ModelState」是否有效。 –
我低估了所有鼓勵使用元數據類的答案。元數據夥伴類完全使得擁有一個域或關注點分離的目的無效。界面應該指向你的域名,而不是指向你的用戶界面的域名。這是一個令人沮喪的可怕做法。 – jfar
@jfar:嚴格來說,元數據類正在分離一個問題 - 儘管這不是你輕易做的事情。這是一個很好的觀點,但你的行爲在這裏做一些傷害:在你的模型生成的情況下,很可能你不能註釋實際的屬性,但很可能你可以添加一個屬性到部分類定義。 –