CodeFirst中带点的表名
本文关键字:CodeFirst | 更新日期: 2023-09-27 18:26:37
我认为在我的一些表前面加上区域名称是个好主意:
MyNewSubProject.Table1
MyNewSubProject.Table2
不幸的是,当我要用实体框架代码首先用模型构建器映射这些表时:
modelBuilder.Entity<Entity>().ToTable("MyNewSubProject.Table1");
抛出异常:
(System.Data.Entity.Infraestructure.DbUpdateException)
{"Invalid object name 'MyNewSubProject.Table1'."}
表名正确。我试过添加模式,但没有成功。如果我去掉这个点,一切都会很好。
有什么办法用这个点吗?
谢谢;)
尝试将表名称包装在[MyNewSubProject.Table1]
中。
这是一个已知的问题,我认为现在已经解决了:
http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/9c5642ad-3e4e-496f-9721-059071d653e3
更新
显然,你可以像这样单独设置模式:
modelBuilder.Entity<Entity>().ToTable("Table1", "MyNewSubProject");
尝试以下
modelBuilder.Entity<Entity>().ToTable("Table1","MyNewSubProject");
这将把模式更改为MyNewSubProject