2012-07-27 126 views
0

如果您访问本网站http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3,您可以看到一个教程,用户可以在其中创建电影数据库。我完成了本教程,没有任何问题,并试图创建一个新的MVC应用程序,并做了一些小的更改,使项目更接近我最终想做的事情。ASP.NET MVC3验证错误

相反,创建一个名为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格式或其他东西。我希望这可以让问题更清楚。

+0

请张贴您的型号代码!没有它,这几乎不可能帮助你。 – 2012-07-27 20:24:38

+0

数据库是如何创建的?它是否有限制,样本不是没有被满足?您是否使用Code First使用实体框架?数据库第一?模型第一?绝对需要更多信息。 – 2012-07-27 20:31:37

+0

我发布到型号代码。据我所知,数据库是在我为名为Issue的模型创建控制器时创建的。此链接是我从以下网站获得我的指示的页面:http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/accessing-your-model's-data-from-a-控制器 – 2012-07-27 21:08:54

回答

0

我刚刚结束了添加这个类,当字段发生变化时,它将从数据库中删除所有内容。然后,我刷新数据库,这在我的情况下很容易实现。可以在Seed方法中添加一些项目,以确保某些事情在清除后仍保留在更新后的数据库中。

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