Sql Spatial Type,Code First迁移和Azure DB

时间:2017-09-12 13:32:08

标签: azure-sql-database ef-migrations sql-types

我正在使用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类型,但没有任何效果)

2 个答案:

答案 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抄袭来的。