DapperでSqlGeographyを読み取ることができません

dapper sqlgeography

質問

私は多くのSOの質問に従いましたが、私はシミールエラーが発生していますが、私はこの問題を解決できません。

My Dapperのバージョンは1.50.1です。Microsoft.SqlServer.Typesのバージョンは11.0.2です

私は以下のように設定ファイルにバインディングリダイレクトを追加しました:

<runtime>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
      <bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0" />
    </dependentAssembly>
</runtime>

私が得るエラーは次のとおりです。

列2の解析中にエラーが発生しました(Location = POINT(-122.349 47.651) - Object)

内側の例外は次のとおりです。

[A] Microsoft.SqlServer.Types.SqlGeographyを[B] Microsoft.SqlServer.Types.SqlGeographyにキャストすることはできません。タイプAは、 'C:\ WINDOWS \ assembly \ GAC_MSIL \ Microsoft.SqlServer.Types \ 10.0'のコンテキストで 'Default'というコンテキストで 'Microsoft.SqlServer.Types、Version = 10.0.0.0、Culture = neutral、PublicKeyToken = 89845dcd8080cc91' .0.0__89845dcd8080cc91 \ Microsoft.SqlServer.Types.dll '。タイプBは、 'C:\ WINDOWS \ assembly \ GAC_MSIL \ Microsoft.SqlServer.Types \ 11.0'のコンテキスト 'Default'のコンテキストで 'Microsoft.SqlServer.Types、Version = 11.0.0.0、Culture = neutral、PublicKeyToken = 89845dcd8080cc91' .0.0__89845dcd8080cc91 \ Microsoft.SqlServer.Types.dll '。

私はちょうど動的オブジェクトにすべてを読んでも大丈夫ですが、もし私がSqlGeographyを持っている自分のタイプに読んだら、このエラーが出ます。

私はすべてを推奨したと思ったが、私は何かを逃したようだ。

人気のある回答

@Marc Gravellは、以下の参考文献を参照してください。それはあなたの人生を救うでしょう。

SqlGeography

問題

ASP.NETアプリケーションの場合は、Global.asax.csのApplication_Startメソッドに次のコード行を追加します。

SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));

デスクトップアプリケーションの場合、空間操作が実行される前に、次のコード行を追加して実行してください。

SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

.LoadNativeAssembliesメソッドは、CPUアーキテクチャに基づいた正しいアセンブリを取得します。

binフォルダにはこれが必要です。

ここに画像の説明を入力



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow