Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET framework 4.5不识别Geometry数据类型_.net_Entity Framework_Spatial - Fatal编程技术网

.NET framework 4.5不识别Geometry数据类型

.NET framework 4.5不识别Geometry数据类型,.net,entity-framework,spatial,.net,Entity Framework,Spatial,我正在尝试将我的项目设置为能够使用空间扩展,但在尝试创建.edmx时遇到以下错误: 警告6005:目标.NET Framework版本当前不支持数据类型“geometry” 然后它只创建edmx并从模型中排除几何图形类型的列。所有的东西都编译好了,我就是不能用几何的东西,因为它不在那里 我的项目以.NET4.5框架为目标,并使用EntityFramework5.0。一个警告是我正在使用MySql。我已经安装了MySql.NET Connector 6.7.4以及Visual Studio等的所有

我正在尝试将我的项目设置为能够使用空间扩展,但在尝试创建.edmx时遇到以下错误:

警告6005:目标.NET Framework版本当前不支持数据类型“geometry”

然后它只创建edmx并从模型中排除几何图形类型的列。所有的东西都编译好了,我就是不能用几何的东西,因为它不在那里

我的项目以.NET4.5框架为目标,并使用EntityFramework5.0。一个警告是我正在使用MySql。我已经安装了MySql.NET Connector 6.7.4以及Visual Studio等的所有更新,根据我阅读的所有内容,这些更新应该可以完成设置,以允许我完成我正在尝试做的事情。有人知道我会错过什么或做错什么吗??我觉得我的头撞在墙上已经好几天了!我已经到了我开始怀疑自己是否知道如何使用VisualStudio的地步。只需再次检查-如果“目标框架”的项目属性页下拉列表设置为“.NET framework 4.5”,这意味着我使用的是4.5,对吗?!如果实体框架参考的属性部分说“5.0”,那么它是5.0,对吗?即使运行时版本显示“4.0.30319”?我安装了5.0,所以我不确定为什么运行时会不同

我将非常感谢任何指导!我快发疯了。我甚至尝试手动添加属性,但它不允许我添加新映射,构建将失败

提前谢谢


附加信息:我不知道这是否重要,但我最初并没有用这些版本创建项目。最初的MySql连接器是6.6.5。这会有所不同吗?比如说,有没有什么地方需要一个我没有改变的更新版本?我更改了我的web.config成员资格提供程序部分,因为其中包含版本号,但除此之外,我在其他任何地方都看不到它。引用中的dll(mysql.data和mysql.data.entity)已被替换,但mysql.web仍然是6.6.5,因为我在安装6.7.4时没有获得另一个版本的dll。Geometry不是CLR类型,而是SQL Server数据库类型。DbGeography和DbGeometry是.NET 4.5中可用的类型,但您需要在代码中引用System.Data.Spatial

如Rick Strahl的博客()所述,
没有本机CLR空间类型。DbGeography和DbGeometry类型特定于实体框架,并存在于这些程序集上。它们也适用于一般用途的非数据库空间数据操作,但是您必须依赖System.data.Entity。

为了回答您的一小部分问题,
运行时版本
是构建dll所依据的.NET版本。is.NET4.5(它还将报告.NET4.0的
4.0.30319
)。任何使用3.5报表构建的内容
v2.0.50727