我已经开始在ASP.NET MVC4中使用Entity框架了。
我在Model
文件夹中创建了3个类,并为每个模型创建了控制器。
现在,当我运行应用程序时,它创建了与每个模型类相对应的单独数据库。
我们有什么方法可以只使用一个数据库吗?
答案 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变量中。