2014-09-18 48 views
3

我正尝试针对mssql 2012或2008数据库服务器和表集中的Visual Studio 2013中的数据库生成我的edmx文件。 edmx文件生成没有问题,并且一切看起来都很好,直到我尝试编译该项目。表示数据库表的每个单个对象均会出现以下消息。问题在Visual Studio 2013中生成.edmx EF6

  1. 使用命名空间指令只能应用于命名空间; “系统”是一种没有命名空间
  2. 类型名称“集合”不存在类型存在“Model.blah.System”

  3. 类型名称“日期时间”中不存在类型“ Model.blah.System”

的使用语句正确定位所产生的代码命名空间声明中,就像所有其他的.edmx EF文件,我在过去已经看到了。

所有数据库对象的错误消息都是一致的。无论我如何生成我的edmx模型,它都是无用的,不可用。

我正在运行Visual Studio 2013更新2.我尝试过使用EF5和EF6无济于事。我需要一些帮助,弄清楚为什么我的生活不能正确地生成我的EF模型。

回答

7

我猜你有一个命名空间冲突,编译器因为定义了一个与System命名空间不明确的System类而失败。

将您的System类重命名为其他内容来解决您的问题。

+0

当问题第一次出现时,我开始编辑几乎所有生成的代码文件,以将名称空间外的用户移动。但我不应该。这是最新的visual studio编辑器或4.51 .net框架的问题。我认为这可能是一个命名空间冲突,因为你建议,所以我创建了一个没有任何内容的独立的新项目,但EF生成的代码,它仍然不能编译。 – 2014-09-19 13:47:43

+0

你在名称中有** System **吗?数据库,数据库表,属性名称等? – 2014-09-19 16:28:43

+0

是的,在我的模型中有一个名为“System”的表。谢谢。 – 2018-01-31 20:08:01

4

发现问题我有一个系统表,可以代表测量系统。当EF处理这些表时,它会从表的末尾删除s,导致发生名称冲突。我要结束这个问题,但是想要让人们知道这个问题。

+0

谢谢你,让我从几个小时的挫折中解救出来 – 2018-01-31 20:07:21

相关问题