表名称“无效对象名称”的问题

时间:2017-10-05 07:50:08

标签: c# entity-framework linq

在数据库中,我有表格和表格名称 ED-test A_S $ Contact ,当我复制&amp;超过了我上课的名字我得到了一些错误,你不能使用' - '或'$',而是我将课程名称更改为 ED_test_A_S_Contact ,而且所有错误都消失了,但是我遇到了另一个问题,当我运行项目时,我收到此错误:Invalid object name 'dbo.ED_test_A_S_Contact'.而不是我的解决方法错误:更改了DbSet,Mapping,web.config的名称并使用modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();,但它们都没有工作。谁能指引我朝正确的方向发展? THX

2 个答案:

答案 0 :(得分:1)

您可以恢复表名并使用以下

      modelBuilder.Entity<ED_test_A_S_Contact>().ToTable("ED-test A_S$Contact");

答案 1 :(得分:0)

你得到的是因为表名不仅仅是通过重命名来改变。听起来很混乱,我知道。基本上,您的表可能被另一个数据库对象(表等)引用,这就是为什么重命名不能按照您希望的方式工作的原因。

如果您还没有重要数据,那么我建议您删除数据库并重新构建它(使用代码优先迁移很容易)。否则,您可以使用工具重命名SQL Prompt等表格,并使用功能Smart Rename

  

SQL Prompt可以创建一个脚本,允许您在不破坏依赖关系的情况下重命名数据库中的对象。