我正在使用azure DB和Entity Code First进行项目。我想在我的项目中添加空间类型(DbGeography)。
我使用Add-Migration AddDbGeography
在我的模型项目中安装了软件包,然后尝试Spatial types and functions are not available for this provider because the assembly 'Microsoft.SqlServer.Types' version 10 or higher could not be found
但我一直收到此错误消息
CLR
。
欢迎任何帮助:)
(我尝试为Microsoft®SQLServer 卸载/安装最新版本的PivotField
类型,但没有任何效果)
答案 0 :(得分:0)
让我们从基本检查开始。 请检查您是否同时安装了x86和x64版本的Microsoft.SqlServer.Types程序集。 可能是安装了错误的,或者安装了两个错误,其中一个比预期的要早。
答案 1 :(得分:0)
我已阅读到将Microsoft.SqlServer.Types nuget包降级到V11可能会解决此问题。但是,我不想执行此操作,因此,在适合的“ monkey-see-monkey-do”编程中,我将以下代码放入Configuration.cs文件的Configuration方法中
public Configuration()
{
AutomaticMigrationsEnabled = false;
//Adding this fixes the below error message...
//Spatial types and functions are not available for this provider because the assembly 'Microsoft.SqlServer.Types' version 10 or higher could not be found.
SqlProviderServices.SqlServerTypesAssemblyName = typeof(SqlGeography).Assembly.FullName;
}
这消除了错误消息,并允许我生成迁移而不必降级软件包。我仍然想知道这是怎么回事,但这是一个快速修复,我是从github上的this thread抄袭来的。