2015-04-04 63 views
0

我有一個工作網站(在MVC中設計)以及主機網站上的數據庫,我通過主機提供的連接字符串連接到該數據庫。向模型中添加新實例的ASP.NET錯誤

該網站可能工作;但我需要更新代碼,並用它更新我擁有的唯一模型:其中包含3個表格的表示(我的修改尚未使其代表四個表格)。

我只添加類,物理表的名稱(沒有額外的s)。

我將一張新表遷移到服務器,但是每當我定義一個新模型來表示該表時,包含模型初始化的所有視圖和控制器都不起作用,並將我重定向到一個小的錯誤頁面。

有人能指導我解決問題嗎?

public class xModel 
{ 

    public class a 
    { 
     public int Id { get; set; } 
     public string Title { get; set; } 
     public string Desc { get; set; } 
     public string source { get; set; } 


    } 
    public class b 
    { 
     public int Id { get; set; } 
     public string name { get; set; } 
    } 
    public class c 
    { 
     public int Id { get; set; } 
     public string name { get; set; } 
     public string des { get; set; } 
     public string author { get; set; } 

    } 
    public class d 
    { 
     public int Id { get; set; } 
     public string Country { get; set; } 
     public string Street { get; set; } 
     public double x { get; set; } 
     public double y { get; set; } 
    } 
} 
public class DatabaseConnection : DbContext 
{ 
    public DbSet<xmodel.a> a { get; set; } 
    public DbSet<xmodel.b> b { get; set; } 
    public DbSet<xmodel.c> c { get; set; } 
    public DbSet<xmodel.d> d { get; set; } 
+0

你問的不清楚。你需要指定你得到的錯誤。如果你不明白你得到了什麼錯誤,你可以調試,看看它發生了什麼。或者,您可以通過將CustomErrors =「Off」並嘗試運行該程序來關閉web.config中的自定義錯誤頁面。然後你可以看到頁面中的錯誤 – jubair 2015-04-04 09:18:15

+0

@jubair錯誤來自我發佈的代碼中的最後一行:public DbSet d {get;組; },只要這個連接沒有了,代碼就可以工作(我在上面解釋過)。該表在服務器上(我檢查了兩次),asp.net將該行視爲不存在該表。 – 2015-04-04 09:31:09

+0

您是否使用nuget包管理器控制檯遷移創建表?在你的陳述中,你告訴你遷移了一張桌子然後創建了模型。我的猜測是你沒有使用.net遷移。對? – jubair 2015-04-04 09:45:16

回答

1

此問題。我不知道確切的原因,但我多次面對它。如果直接從服務器生成實體(模型),則可以解決此問題的一種方法。您可以使用Ado.net實體數據模型自動從數據庫中生成實體。

+1

非常感謝@jubair;這是一個遷移問題,正如您所說的,我更改了我的服務器存儲的」web .config「以允許錯誤報告,然後將其編譯爲遷移問題,包括此鏈接:https://msdn.microsoft.com/en-us/data/jj591621 ============我實際上早就停止瞭解決方案(只更新模型,因爲數據庫已經從我以前的遷移中出現)。 – 2015-04-06 23:32:04

0

在繼續下一步之前構建應用程序。

用鼠標右鍵單擊控制器文件夾並創建一個新的MoviesController控制器。下面的選項將不會出現,直到您構建您的應用程序。選擇下列選項:因爲你導入和導出它並沒有使用.NET遷移可能會出現

Controller name: MoviesController. (This is the default.) 
Template: MVC Controller with read/write actions and views, using Entity Framework. 
Model class: Movie (MvcMovie.Models). 
Data context class: MovieDBContext (MvcMovie.Models). 
Views: Razor (CSHTML). (The default.) 

Read More

相關問題