实体框架创建与模型中每个类对应的单独数据库

时间:2013-04-25 13:25:39

标签: c# asp.net sql-server asp.net-mvc-4 entity-framework-5

我已经开始在ASP.NET MVC4中使用Entity框架了。

我在Model文件夹中创建了3个类,并为每个模型创建了控制器。

现在,当我运行应用程序时,它创建了与每个​​模型类相对应的单独数据库。

我们有什么方法可以只使用一个数据库吗?

1 个答案:

答案 0 :(得分:1)

您是否为每个类创建单独的上下文?

public class Employee 
{
    [Key] public int EmpId { get; set; } // < Can I make a suggestion here
                                         // and suggest you use Id rather than
                                         // EmpId?  It looks better referring to 
                                         // employee.Id rather than employee.EmpId
    [Required] public string Fullname { get; set; }
    ...
}

public class AnotherClass
{
    ...
}

然后在上下文中列出所有模型:

public MyDbContext : DbContext
{
    public DbSet<Employee> Employees { get; set; }
    public DbSet<AnotherClass> AnotherClasses { get; set; }
}

您可能还希望使用上下文中的构造函数指定连接字符串名称:

public MyDbContext() : base("ConnectionString") {  }

重要的是所有模型都在相同的环境中。

使用上下文

var context = new MyDbContext();
var employees = context.employees.ToList(); // I prefer storing the data as an IList

这告诉EF查询数据库并将数据存储在employees变量中。