复数化表名,我有以下控制器:的DbContext在访问DB
private RACentralContext db = new RACentralContext();
private PeopleContext Peopledb = new PeopleContext();
public ViewResult StartRA()
{
var assessor = Peopledb.People.FirstOrDefault(x => x.PersonId == 6);
StartRiskAssessmentViewModel viewModel = new StartRiskAssessmentViewModel
{
RiskAssessment = new RiskAssessment(),
};
return View(viewModel);
}
当我运行它提供了以下错误的应用程序:
'Invalid object name 'dbo.People'
上下文类是:
public class RACentralContext : DbContext
{
public RACentralContext()
: base("name=RACDev")
{
}
public DbSet<RiskAssessment> RiskAssessments { get; set; }
public DbSet<Hazard> Hazards { get; set; }
public DbSet<PPE> PPEs { get; set; }
public DbSet<RiskAssessmentPPE> RiskAssessmentPPEs { get; set; }
public DbSet<PeopleExposed> PeopleExposeds { get; set; }
public DbSet<RiskAssessmentPeopleExposed> RiskAssessmentPeopleExposeds { get; set; }
public DbSet<RiskAssessmentHazard> RiskAssessmentHazards { get; set; }
public DbSet<ControlMeasure> ControlMeasures { get; set; }
public DbSet<Severity> Severitys { get; set; }
public DbSet<Likelihood> Likelihoods { get; set; }
public DbSet<AddControlMeasure> AddControlMeasures { get; set; }
public DbSet<Type> Types { get; set; }
public DbSet<SubType> SubTypes { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
public class PeopleContext : DbContext
{
public PeopleContext()
: base("name=PeopleContext")
{
}
public DbSet<Person> People { get; set; }
}
它试图访问实际的表名称的puralization,我该如何阻止它做到这一点,只是得到它访问dbo.Person不dbo.People?
表名添加一个'覆盖无效OnModelCreating()''来... PeopleContext' – CodeCaster
Hvaing补充说,我得到这个错误:该模型支持的“PeopleContext自数据库创建以来,上下文已发生变化。考虑使用Code First Migrations来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。尽管运行update-database-force。 People上下文只有一个来自该数据库的表,而不是我在另一个应用程序中使用的所有表 –