您好我正在开发一个asp.net mvc应用程序,我被要求从我的模型中删除数据注释并将它们放在一个单独的类中。我想到的第一件事就是使用Fluent API来实现这一点。
经过一番研究后,我意识到Fluent API只能用于代码优先方法,所以我不知道如何解决这个问题。
我正在使用数据库第一种方法。
这是我的一个模型的样子:
public class BookModel
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Author { get; set; }
[Required]
[DataType(DataType.MultilineText)]
public string Description { get; set;}
[Required]
[DisplayFormat(DataFormatString = "{0:d}" , ApplyFormatInEditMode=true)]
public DateTime PublicationDate { get; set; }
[Required]
public int CategoryId { get; set; }
[Required]
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString="{0:c}")]
public decimal Price { get; set; }
public string BookUrl { get; set; }
}
所以有人能指出我正确的方向来解决我的问题吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以创建将(仅)表示每个视图的ViewModel类。您可以在它们上添加验证逻辑。
如果你想让你的班级看起来干净,并且在一个单独的班级中移动验证逻辑,那么你可以拥有一个用于保存数据注释的部分类,或者validation class