我在项目中使用Entity Code First,我想让我的表名称与模型不同。
我尝试在模型类中使用DataAnnotation Table
:
[Table("tbBudget")]
public class Budget : IValidatableObject
{
...
但创建的表名为dbo.tbBudget
。问题很简单:如何从实体中的表名中删除dbo.
?
答案 0 :(得分:4)
dbo。不是实际表名的一部分,而是表示架构名称。
答案 1 :(得分:3)
数据库中的表始终属于架构。您无法删除架构,但可以使用流畅的配置更改它,在DbContext中重写方法
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Budget>().ToTable("test", "mySchema");
}
或者,如您的示例所示,您可以使用TableAttribute