我们正在使用几年前创建的数据库,并希望保持表名相同。
我们所有的表都命名为:" tbl_Orders"但是我们希望模型/控制器/等的类名是Orders / OrdersController /等。我们使用Entity Framework将类映射到我们的表。
很抱歉,如果以前曾经问过这个问题,我会尝试搜索但空手而归...
解决方案:
经过与Scott Chamberlain的一些反复讨论,我们得出结论,两个答案都是正确的。我继续把马苏德的答案标记为已被接受,因为那是我去的路线。感谢所有帮助过的人(尤其是斯科特)。
答案 0 :(得分:7)
您可以使用Table属性或fluent api在数据库中的表名和类名之间进行映射
[Table("tbl_Blogs")]
public class Blog
答案 1 :(得分:4)
您可以在DbContext
中使用以下代码将所有实体映射到表格中:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// TableNameConvention
modelBuilder.Types()
.Configure(entity =>
entity.ToTable("tbl_" + entity.ClrType.Name));
base.OnModelCreating(modelBuilder);
}