2

嗨,我正在开发一个 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; }
}

那么任何人都可以指出我正确的方向以解决我的问题吗?

4

2 回答 2

2

查看 Buddy Classes 的概念

模型验证

模型验证 2

于 2013-03-18T14:01:08.160 回答
1

您可以创建将(仅)代表每个视图的 ViewModel 类。您可以在它们上添加验证逻辑。

如果你想让你的类看起来干净,并将验证逻辑移动到一个单独的类中,那么你可以有一个部分类来保存数据注释,或者一个验证类

于 2013-03-18T13:56:05.373 回答