在我的MVC5项目中,我使用connectionString创建了一个DbContext到我的本地服务器。 SaveChanges实际上可以工作并将数据保存到数据库中,但是当我尝试使用上下文来使用保存的数据时,它的列表是空的。 背景信息:
public class DbContext : IdentityDbContext
{
public DbContext(string connString) : base(connString) { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
public virtual DbSet<JobSeeker> JobSeekers { get; set; }
public virtual DbSet<Company> Companies { get; set; }
public virtual DbSet<Tag> Tags { get; set; }
}
Web.config文件:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=DESKTOP\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True"
providerName="System.Data.SqlClient" />
控制器我在:
中使用它using (DbContext _context = new DbContext("name = DefaultConnection"))
{
var x = _context.Database.Connection.State; // x is "Closed"
viewModel.JobSeeker = _context.JobSeekers.First(j => j.Id == user.JobSeekerId); //JobSeekers is empty
}
即使数据库中有JobSeekers列表,它也是空的。
好的,所以我试图解决这个问题。如果我这样做,我会收回一些数据:
var list = _context.JobSeekers.Include("Tags");
在这一行之后,_context中包含了JobSeekers,而不是全部。 那么如何将所有数据一次加载到上下文中呢?