「ASP.NET Core」から「EntityFrameworkCore」を利用してSQL Serverにアクセスする

以前に作成した、「ASP.NET」と「OpenLayers」から、.Net 8で動くよう、
「ASP.NET Core」と「OpenLayers」を利用して、WebGISを検証中でして、
その際の、「ASP.NET Core」から「EntityFrameworkCore」を使用する際のメモです。

各処理とファイルは以下の通りです。
1.データベースモデルの作成
2.データベースコンテキストの設定
3.データベース接続文字列の設定
4.Program.csの設定
5.コントローラーの実装
6.SqlNullValueExceptionの無効化

1.データベースモデルの作成

データベースモデルの作成は、「EntityFrameworkCore」の場合と全く変更はありません。

2.データベースコンテキストの設定

こちらも、「EntityFrameworkCore」の場合と全く変更はありません。

3.データベース接続文字列の設定

データベース接続文字列は、web.configから、appsettings.jsonファイルに変わったので、接続文字列を追加します。
接続文字列では、MS SQL Serverのサーバ証明書のチェーンを検証しないので、trustServerCertificate=trueを追記します。

4.Program.csの設定

ASP.NET Core 5.0以降なので、Program.csに「EntityFrameworkCore」の設定を追加します。

5.コントローラーの実装

Controllersフォルダーに新しいコントローラーを作成し、データベース操作を実装します。

6.SqlNullValueExceptionの無効化

1~5の実装で動作確認したところ、データ取得時に例外が発生しました、.Net8よりNullチェック
が厳格され、テーブルとEntityクラスの不一致により例外が発生するようになりました。

データベースやクラスに型と統一すれば対応できますが、変更したくなかったため、
.cprojファイルのNullチェックを一旦無効にしました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする