有没有办法让类名与您的表名不同?

Pri*_*pat 3 entity-framework asp.net-web-api

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

我们所有的表都命名为:"tbl_Orders",但我们希望模型/控制器/等的类名是Orders/OrdersController /等.我们使用Entity Framework将类映射到我们的表.

对不起,如果之前有人询问过,我试过搜索但空手而归......

解:

经过与Scott Chamberlain的一些反复讨论,我们得出的结论是两个答案都是正确的.我接着将马苏德的答案标记为已被接受,因为那是我走的路线.感谢所有帮助过的人(特别是Scott).

Eri*_*kEJ 9

您可以使用Table属性或fluent api在数据库中的表名和类名之间进行映射

[Table("tbl_Blogs")] 
public class Blog
Run Code Online (Sandbox Code Playgroud)


Mas*_*oud 6

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

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

     base.OnModelCreating(modelBuilder);
}
Run Code Online (Sandbox Code Playgroud)