实体框架创建独立的数据库,对应于模型中的每个类

本文关键字:模型 独立 创建 框架 数据库 实体 于模型 | 更新日期: 2023-09-27 18:11:03

我已经开始在ASP中使用实体框架。净MVC4。

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

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

是否有办法可以只使用一个数据库?

实体框架创建独立的数据库,对应于模型中的每个类

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

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变量中。