entity - 从Entity Code First中的表名中删除“.dbo”

时间:2012-05-08 13:14:51

标签: c# entity-framework

我在项目中使用Entity Code First,我想让我的表名称与模型不同。

我尝试在模型类中使用DataAnnotation Table

[Table("tbBudget")]
public class Budget : IValidatableObject
{
...

但创建的表名为dbo.tbBudget。问题很简单:如何从实体中的表名中删除dbo.

2 个答案:

答案 0 :(得分:4)

dbo。不是实际表名的一部分,而是表示架构名称。

答案 1 :(得分:3)

数据库中的表始终属于架构。您无法删除架构,但可以使用流畅的配置更改它,在DbContext中重写方法

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<Budget>().ToTable("test", "mySchema");
    }  

或者,如您的示例所示,您可以使用TableAttribute

相关问题