0

使用:

  • 实体框架 5
  • MySQL 连接器网络 6.8.4
  • MySQL 5.6.21
  • 视觉工作室 2013
  • MySQL 工作台 6.2

使用工作台在 MySQL 中创建了下表 MySQL表,五列int类型为pk,linestring,polygon,double,geometry

在 Visual Studio 2013 中打开我的应用程序,导航到我的数据访问层项目,打开 .edmx,右键单击画布并选择“从数据库更新模型...”。我继续添加新表,单击完成,这就是吐出来的:

Route Geometry db 模型表的属性不正确 自动生成模型类的冗余图片

如您所见,所有空间数据类型都被忽略了。

数据访问项目包括(除其他外)以下参考:

  • 实体框架
  • MySql.Data
  • MySql.Data.Entity.EF5
  • MySql.Web
  • 系统.数据.实体

我意识到在 EF 中它们将是 DbGeometry 类型,但我觉得更新过程应该能够自己解决这个问题。虽然我可以手动添加映射,但我不希望这样做,因为下次有人运行“从数据库更新模型......”时它们会被吹走

有什么见解或建议吗?谢谢!

编辑: 使用 Entity Framework 6 测试并继续存在问题

4

1 回答 1

0

尝试“从数据库更新模型”后查看错误列表警告,我现在看到:

错误 6005:目标实体框架版本当前不支持数据类型“几何”;排除了表“def.spatialdb.routegeometry”中的“test_geometry”列。

这是使用最新的 Entity Framework 6,所以我想仅使用代码优先是不可能的。

可能的解决方案是编辑自动生成的类以添加 DBGeometry 属性,但是每次更新模型时这些属性都会被吹走。

于 2015-04-29T19:35:04.330 回答