MySQL Connector / Net EF数据库第一空间数据类型

时间:2015-04-13 19:06:37

标签: c# mysql entity-framework spatial connector-net

使用:

  • 实体框架5
  • MySQL Connector Net 6.8.4
  • MySQL 5.6.21
  • Visual Studio 2013
  • MySQL Workbench 6.2

使用工作台在MySQL中创建了下表 MySQL table, five columns of types int as pk, linestring, polygon, double, geometry

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

Route Geometry db model table with not the correct properties Redundant picture of auto-generated model class

正如您所看到的,所有空间数据类型都被忽略了。

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

  • 的EntityFramework
  • MySql.Data
  • MySql.Data.Entity.EF5
  • MySql.Web
  • System.Data.Entity的

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

有任何见解或建议吗?谢谢!

修改 与实体框架6一起测试并继续存在问题

1 个答案:

答案 0 :(得分:0)

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

  

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

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

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