DbContext在访问db时复数化表名
本文关键字:访问 db DbContext | 更新日期: 2023-09-27 18:14:08
我有以下控制器:
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);
}
当我运行应用程序时,它给出以下错误:
'无效的对象名称'dbo。人'
上下文类是:
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; }
}
它试图访问实际表名的纯化,我如何阻止它这样做,并让它访问dbo。人不是鬼,人?
我们在模型本身上指定表名
[Table("Person")]
public class Person { ... }