我想我理解你的问题。一种可能的解决方案是使用 ViewModel 传递给视图,而不是Company
直接使用实体。这将允许您在不更改实体模型的情况下添加或删除数据注释。然后将新的数据映射到要保存到数据库CompanyViewModel
的实体模型。Company
例如,Company
实体可能看起来像这样:
public class Company
{
public int Id { get; set; }
[StringLength(25)]
public string Name { get; set; }
public int EmployeeAmount { get; set; }
[StringLength(3, MinimumLength = 3)]
public string CountryId {get; set; }
}
现在在 MVC 项目中,可以构造类似于Company
实体的 ViewModel:
public class CompanyViewModel
{
public int Id { get; set; }
[StringLength(25, ErrorMessage="Company name needs to be 25 characters or less!")]
public string Name { get; set; }
public int EmployeeAmount { get; set; }
public string CountryId { get; set; }
}
使用 ViewModel 意味着可以添加更多面向视图表示的注释,而无需使用不必要的标记重载实体。
我希望这有帮助!