如何在MVC4中创建上下文类

时间:2013-07-26 12:03:22

标签: c# asp.net-mvc asp.net-mvc-4

我有一个MVC4数据库第一个项目。我建立了数据库连接,并为表创建了所有.cs文件。创建了一个上下文,但在创建控制器时,这不会显示在下拉列表中。难道我做错了什么? 如果需要,将提供任何其他信息。

2 个答案:

答案 0 :(得分: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,&#34; DataContext&#34; string是ConnectionString中的web.config名称。

DbContext的概念为DbSet<T>,用于在数据库中显示表格。

其余的是API调用等。

假设你有一个索引控制器,其余部分如下:

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

这很简单。你可以找到很多教程和视频。

答案 1 :(得分:3)

您是否完成了以下操作?

  1. 右键单击模型的设计器表面。
  2. 从上下文菜单中,选择添加代码生成项。
  3. 在打开的“添加新项”对话框中,从左侧安装的模板类型列表中选择“代码”。
  4. 选择ADO.NET DbContext Generator,然后单击“添加”按钮。
  5. 以上内容来自Julie Lerman的指南; http://msdn.microsoft.com/en-us/data/gg685489.aspx

    如果您有,在您的控制器中,确保您有

    using NameofProject.Models;

    并从数据库中打开表,创建实体:

    NameofProjectEntities DB = new NameofProjectEntities();

    变量名称取决于创建上下文文件时的定义方式。