2012-07-27 130 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 
    } 
}