我认为在我的一些表格中添加区域名称是个好主意:
MyNewSubProject.Table1
MyNewSubProject.Table2
不幸的是,当我要使用模型构建器将这些表与Entity Framework Code First映射时:
modelBuilder.Entity<Entity>().ToTable("MyNewSubProject.Table1");
抛出异常:
(System.Data.Entity.Infraestructure.DbUpdateException)
{"Invalid object name 'MyNewSubProject.Table1'."}
表名是正确的。我试图添加架构,但没有运气。如果我删除点,一切都很顺利。
任何使用点的方式?
谢谢;)
答案 0 :(得分:3)
尝试以下
modelBuilder.Entity<Entity>().ToTable("Table1","MyNewSubProject");
这会将架构更改为MyNewSubProject
答案 1 :(得分:2)
显然,DDL命令没有正确包装对象标识符。
尝试在[MyNewSubProject.Table1]
中包装表名。
这是一个知道问题,我认为现在已经解决了这个问题:
http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/9c5642ad-3e4e-496f-9721-059071d653e3
<强>更新强>
显然你可以单独设置架构:
modelBuilder.Entity<Entity>().ToTable("Table1", "MyNewSubProject");