ASP.NET MVC3验证错误

时间:2012-07-27 20:20:56

标签: asp.net-mvc-3

如果您访问此网站http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3,您可以看到用户创建电影数据库的教程。我没有遇到任何问题就完成了本教程,并尝试创建一个新的MVC应用程序,其中包含一些小的更改,这些更改使项目最终与我想要做的更相似。

而是创建一个名为Movie的模型,我创建了一个名为Issue的模型。像电影一样,它有几个字段,但它们都有不同的名称和类型。我完全按照教程中的说明完成了整个过程,但每当我尝试通过Web UI向数据库添加问题时,我都会收到DBEntityValidationException。我在此过程中没有设置任何验证规则,所以我不确定问题是什么。

有人可以给我一些关于修复此问题的建议,以便我可以向我的数据库添加问题(就像在线教程中的电影一样)? 如果需要更多信息,请与我们联系;我对此很陌生,可能缺乏细节。

以下是型号代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace MvcApplication200.Models
{
    public class Issue
    {
        public String id { get; set; }
        public DateTime created { get; set; }
        public DateTime closed { get; set; }
        public String summary { get; set; }
        public bool? importToTFS { get; set; }
    }

    public class IssueDBContext : DbContext
    {
        public DbSet<Issue> Issues { get; set; }
    }   
}

更新:我只是重做了整个过程,但我没有使用不同的字段和不同的类型,而是使我的问题模型具有相同数量和相同类型的字段(只有不同​​的名称)。错误消失了,所以问题必须是db格式或其他东西。我希望这会使问题更加清晰。

1 个答案:

答案 0 :(得分:0)

我刚刚添加了这个类,当更改字段时,它会从数据库中删除所有内容。然后,我刷新数据库,这在我的情况下很容易。可以在Seed方法中添加一些项目,以确保清除后更新的数据库中仍有一些内容。

public class IssueInitializer : DropCreateDatabaseIfModelChanges<IssueDBContext>
{
    protected override void Seed(IssueDBContext context)
    {
        //add things here
    }
}