我们使用的是几年前创建的数据库,并且希望保持表名相同。

我们所有的表都被命名为:“tbl_Orders”,但我们希望模型/ Controller /等的类名称为Orders/OrdersController/等。我们正在使用Entity Framework将这些类映射到我们的表。

抱歉,如果以前有人问过这个问题,我尝试搜索,但空手而归...

解决方案:

与斯科特·张伯伦(Scott Chamberlain)来回交流后,我们得出的结论是,两个答案都是正确的。我继续前进,并将Masoud的回答标记为已接受,因为那是我走的路线。感谢所有帮助的人(尤其是Scott)。

最佳答案

您可以在DbContext中使用以下代码将所有实体映射到表:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   // TableNameConvention
     modelBuilder.Types()
                 .Configure(entity =>
                            entity.ToTable("tbl_" + entity.ClrType.Name));

     base.OnModelCreating(modelBuilder);
}

关于entity-framework - 有没有办法让类名与表名不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26219848/

10-12 12:44
查看更多