类型 spatial_geometry 未使用命名空间或别名限定。只能使用原始类型而无需限定

The Type spatial_geometry is not qualified with a namespace or alias. Only primitive types can be used without qualification

我们有一个现有的解决方案,它使用 EF5 和 DevArt 的 dotConnect for PostgreSQL 连接到 PostgreSQL 9.4 数据库,并生成实体。

我刚刚安装了 Visual Studio 2013 和 dotConnect for PostgreSQL 提供程序,并提取了存储库。我的同事有相同的设置,可以在他们的机器上运行。

当我尝试构建时,我收到了标题中描述的错误消息。我必须在 XML 视图中打开 .edmx 文件(因为 VS 无法显示图表,因为它包含错误),并且包含 spatial_geometry 作为类型的每一行都有蓝色波浪线:

当我删除有问题的行时,项目会生成,但我会丢失空间几何属性,这对应用程序来说是必不可少的。我什至可以从数据库中重新生成实体,但随后我收到错误消息,指出该名称对每个相同的属性都无效,然后这些属性就完全丢失了。

为什么 Visual Studio 抱怨 spatial_geometry 类型(为什么它在我的机器上如此,而在其他人的机器上却没有)? spatial_geomertySystem.Data.Spatial.DbGeometry 之间的转换在哪里进行?

尝试升级到最新版本的 dotConnect for PostgreSQL (7.11.1190)。这能解决问题吗?如果您无法访问许可的 v7.11.1190,请通过试用进行检查。