我在使用 Entity Framework 和从数据库中检索数据时遇到问题。我有一张桌子。此表包含一个地理类型的字段。当我运行我的代码时:
IEnumerable<Locatie> a = locatiezoeker.Locaties.Where(x => x.siteId == geselecteerdeWebsiteId);
我收到以下错误:
异常:System.Data.ProviderIncompatibleException 消息:提供程序未返回 DbSpatialServices 实例。来源: System.Data.Common.DbProviderServices.GetDbSpatialDataReader(DbDataReader fromReader, String manifestToken) 的 System.Data.Entity.Data.Common.DbProviderServices.GetSpatialDataReader(DbDataReader fromReader, String manifestToken) System.Data.Spatial.SpatialHelpers。在 System.Data.Common.Internal.Materialization.Shaper.b__d[TProperty](DbDataReader 读取器,Int32 列)在 System.Data.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader 的 CreateSpatialDataReader(MetadataWorkspace 工作区,DbDataReader 读取器)
1.GetValue(DbDataReader reader, Int32 ordinal) at System.Data.Common.Internal.Materialization.Shaper.GetSpatialPropertyValueWithErrorHandling[TProperty](Int32 ordinal, String propertyName, String typeName, PrimitiveTypeKind spatialTypeKind) at lambda_method(Closure , Shaper ) at System.Data.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly[TEntity](Func
2 在 System.Data.Common.Internal.Materialization.Coordinator 的 lambda_method(Closure , Shaper ) 处构造EntityDelegate, EntityKey entityKey, EntitySet entitySet) 1.SimpleEnumerator.MoveNext(1.ReadNextElement(Shaper shaper) at System.Data.Common.Internal.Materialization.Shaper
) 在 MoreLinq.MoreEnumerable.d__172.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14
2.MoveNext() 在 ImportManager.LeegDatabaseVoorGeselecteerdeWebsite (Guid geselecteerdeWebsiteId) in d:\web\ImportManager.cs:line 461 at VerwerkCsv() in d:\web\ImportTool.aspx.cs:line 204
我更新了我的 edmx(实际上我重新生成了它)。我更新了我的 NuGet 包。我正在运行.NET 4.5。查看我的 packages.config 的片段
<package id="EntityFramework" version="5.0.0" targetFramework="net45" />
有人知道这是哪里出错了吗?我在任何地方都找不到解决方案。