Blazorは素晴らしい!でも System.Data.SqlClient is not supported on this platform…

スポンサーリンク

SPAアプリケーション開発について、いろいろと調べていたらBlazorがこれからフィーバーしそうだなということでBlazorアプリのサンプルを作成中なのですが、Blazorとは直接関係のないところでハマってしまいました。
テンプレートはBlazor(ASP.NET Core hosted)で試してみました。

※VS 2019 Version 16.3.0 Preview 1.0ではテンプレート名が変更されており、Blazorサーバーアプリ、Blazor WebAssembly アプリ が二つという奇妙な状態ですが、調べたところ上の方のBlazor WebAssembly アプリがこれまでのBlazor(ASP.NET Core hosted)と同じテンプレートのようです。

EntityFrameworkをほとんど触ったことのない私は昔ながらの方法でSqlClientを使って生のSQLでデータベースアクセスをしようとしたわけですが、うまく動かず、Blazorの情報を調べていると、System.Data.SqlClient is not supported on this platform. という情報を目にして一瞬フリーズ。。。

最終的には下記の情報にたどり着き、Blazor上で生のSQLを使ってデータを抽出することができました。
https://visualstudiomagazine.com/articles/2019/05/24/core-sql-server.aspx

現時点ではまだpreviewですがNugetでパッケージをインストールして

using Microsoft.Data.SqlClient;

まだ触り程度ですが、基本usingの置き換えで利用できそうです。

また下記の情報には
https://devblogs.microsoft.com/dotnet/introducing-the-new-microsoftdatasqlclient/

「Microsoft.Data.SqlClientパッケージは、現在NuGetでプレビュー版として提供されており、今後のSQL Serverの主力データアクセスドライバとなるでしょう。」とありますので、こちらを使ってサンプルの作成を進めたいと思います。

コメント

タイトルとURLをコピーしました