2013-07-26 38 views
1

我有一個MVC4數據庫第一個項目。我建立了數據庫連接,併爲表格創建了所有的.cs文件。上下文已創建,但創建控制器時不會顯示在下拉列表中。難道我做錯了什麼? 如果需要,將提供任何其他信息。如何在MVC4中創建上下文類

+2

你是在談論實體框架DbContext?你的數據庫第一個選項應該爲你創建一個DbContext。你可以在你的edmx文件生成的代碼中找到它嗎? –

+0

是實體框架DbContext。但創建控制器時,上下文文件不會出現在列表中。 – hima

+0

爲什麼有人會投這個問題?如果這個社區在這裏幫助某個新技術的人,那麼任何類型的問題都可以被問到是我的想法。謝謝你的失望。 – hima

回答

3

您完成了以下任務嗎?

  1. 右鍵單擊模型的設計器表面。
  2. 從上下文菜單中選擇添加代碼生成項目。
  3. 在打開的添加新項目對話框中,從左側安裝的模板類型列表中選擇代碼。
  4. 選擇ADO.NET DbContext生成器,然後單擊添加按鈕。

以上是來自Julie Lerman的指導; http://msdn.microsoft.com/en-us/data/gg685489.aspx

如果你有,你的控制範圍內,確保您有

using NameofProject.Models;

,並打開從你的數據庫表,創建實體:

NameofProjectEntities DB = new NameofProjectEntities();

變量名將取決於您在創建上下文文件時如何定義它們。

3
public class DataContext : DbContext 
{ 

    public DataContext() 
     : base("DataContext") 
    { 

    } 

    public DbSet<Attachment> Attachments { get; set; } 
    public DbSet<Meeting> Meetings { get; set; } 
    public DbSet<Todo> Todos { get; set; } 
    public DbSet<Note> Notes { get; set; } 
    public DbSet<Department> Departments { set; get; }   
} 

這是一個適合您的例子。您需要延長DbContext。對於Constructor,「DataContext」字符串是web.config中的ConnectionString名稱。

DbContext概念爲DbSet<T>爲在數據庫中呈現表。

剩下的就是API調用等

說你有一個指數控制器的其餘來自如下:

public class IndexController : Controller 
{ 
    private readonly DataContext _db = new DataContext(); 

這是非常簡單的。你可以找到很多教程和視頻。