0

我在使用 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](Func2 在 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__17 2.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__142.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" />

有人知道这是哪里出错了吗?我在任何地方都找不到解决方案。

4

1 回答 1

0

原来是 Glimpse 造成了所有麻烦: https ://github.com/Glimpse/Glimpse/issues/371 。我使用了 GlimpseEF5 1.2.0。在 1.3.1 版本中,此问题已修复

于 2013-07-12T11:18:28.020 回答