0

如果你去这个网站,http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3,你可以看到一个教程,其中用户创建电影数据库。我顺利完成了本教程,并尝试创建一个新的 MVC 应用程序,并进行了一些小的更改,使项目与我最终想要做的更相似。

我创建了一个名为问题的模型,而不是创建一个名为 Movie 的模型。像电影一样,它有几个字段,但它们都是不同的名称和类型。我完全按照教程中的方式完成了该过程,但是每当我尝试通过 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格式什么的。我希望这能让问题更清楚。

4

1 回答 1

0

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

public class IssueInitializer : DropCreateDatabaseIfModelChanges<IssueDBContext>
{
    protected override void Seed(IssueDBContext context)
    {
        //add things here
    }
}
于 2012-08-03T23:06:02.803 回答