找到了!我在这里添加了一些更多的调整:
public class myDbContext : DbContext
{
public PtDbContext()
: base("DefaultConnection")
{
}
... //some entities
//Here it is:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<TeacherName>().Property(t => t.FullName)
.HasColumnName("TeacherName");
modelBuilder.Entity<TeacherName>().ToTable("vwTeacherNames", schemaName: "dbo");
}
}
更新:为什么要通过定义您之前定义的内容来浪费您的时间?!只需取消默认的表命名约定并享受您的 Prj 进展:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Adding this line tells the EF not to go through that convention
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
因此,它应该通过您的实体的属性来构建您的查询,EntitySetName
其中EntityName
第一个是 DB 表名称,第二个是您在 DbContext 中使用的实体名称。