Cic*_*cio 5 c# entity-framework spatial geospatial
我有一个带有一些空间数据的实体...我正在程序集中使用DbGeography
和DbGeometry
引用System.Data.Entity
...
我没有使用中引用的那个,EntityFramework.dll
因为我有一个分层解决方案,并且我不想在解决方案中的任何地方引用实体框架,但只是在 DAL 内部......
当我尝试添加新的迁移时,出现以下错误:
EntityType“DbGeometry”没有定义键。定义此 EntityType 的键。
DbGeometry
所以我尝试用字符串替换该属性OnModelCreating
,我尝试编写以下代码:
modelBuilder.Entity<AddressInfo>()
.Property(s => s.GeometryLocation)
.HasColumnType("geometry");
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,我收到字符串数据类型与数据类型不兼容的错误DbGeometry
...
有谁有解决这个问题的想法吗?DbGeometry
有谁知道哪种数据类型与数据类型兼容?
谢谢
更新
EntityType 'DbGeography' has no key Defined不能解决我的问题。最后,该帖子的作者说
[他]确实必须在[他的]模型中添加对实体框架的引用
这正是我想要避免的......
瑞安还说
我认为它可以通过一个聪明的数据配置图来修复,我会使用它,并且如果我遇到任何可行的技术,我会更新
知道如何修复它吗?哪种数据类型可以替代 DbGeometry?
如果您使用 EF5,您应该在 中使用DbGeography
和DbGeometry
引用System.Data.Spatial
。
但如果您使用 EF6,则DbGeography
应该DbGeometry
在System.Data.Entity.Spatial
.
归档时间: |
|
查看次数: |
1224 次 |
最近记录: |