Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架创建与模型中每个类对应的单独数据库_C#_Asp.net_Sql Server_Asp.net Mvc 4_Entity Framework 5 - Fatal编程技术网

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

C# 实体框架创建与模型中每个类对应的单独数据库,c#,asp.net,sql-server,asp.net-mvc-4,entity-framework-5,C#,Asp.net,Sql Server,Asp.net Mvc 4,Entity Framework 5,我已经开始在ASP.NET MVC4中使用实体框架 我在Model文件夹中创建了3个类,并为每个模型创建了控制器 现在,当我运行应用程序时,它已经创建了对应于每个模型类的独立数据库 有没有办法只使用一个数据库?是否为每个类创建单独的上下文 public class Employee { [Key] public int EmpId { get; set; } // < Can I make a suggestion here

我已经开始在ASP.NET 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
{
    ...
}
重要的是,所有模型都在相同的上下文中

使用上下文

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

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

您的上下文是如何定义的?请发布您的上下文类。我的上下文类类似于-'public class EmployeeDbContext:DbContext{public DbSet employees{get;set;}}'我的上下文类类似于-1。这是我的模型类
公共类Employee{[Key]public int EmpId{get;set;}[Required]公共字符串全名{get;set;}[Required]公共字符串出生日期{get;set;}[Required]公共字符串指定{get;set;}[Required]公共字符串电子邮件{get;set;}[Required]公共字符串性别{get;set;}[Required]公共字符串联系人No{get;set;}[Required]公共字符串角色{get;set;}}
这是我的上下文类感谢您的回复。你是说我应该在一个类中创建所有的DbSet。但我认为,如果我创建“MyDbContext”类的对象,它将为该类中的所有数据库集分配内存。让我知道,如果我错了或者我的想法是对的,我们如何避免这种情况。我想你误解了ef的工作原理。当您使用context.employees.ToList()时,此时它查询数据库并使用内存。将其列在一个类中并不是这样。谢谢您的回复。现在我明白了。
public MyDbContext() : base("ConnectionString") {  }
var context = new MyDbContext();
var employees = context.employees.ToList(); // I prefer storing the data as an IList