この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 55374|答える: 2

[出典] EF Core Series 4は生成されたSQL文を扱います

[リンクをコピー]
掲載地 2021/02/19 13:36:34 | | | |
EF Core Series 2はOnModelCreatingをカプセル化し、反射を用いてインデックスを作成するなどを備えています
https://www.itsvse.com/thread-9392-1-1.html

EF Core Series (3) エンティティフレームシャドウ属性 [再版]
https://www.itsvse.com/thread-9558-1-1.html


開発中、ef coreフレームワークやlinqやlambda式を使うと、SQL文を直接表示できず、トラブルシューティングやパフォーマンス最適化が不便です。
efは生成されたSQL文を表示します
https://www.itsvse.com/thread-3813-1-1.html

この記事ではEF Core 5を例に挙げています出力EFによって生成されるSQL文を閲覧するために。


まず、スタートアップファイルに「ConsoleLoggerFactory」という変数で新しいコンソールロガーファクトリー変数を作成します。生成されたSQL文がコンソールに出力されます。コードは以下の通りです:

DbContextコードを次のように設定することで、ConfigureServicesメソッドにログ出力を追加します:

プロジェクトを起動してコンソール出力を見ると、以下の通りです:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      実行したDbCommand(1ms) [パラメータ=[]、CommandType='Text'、CommandTimeout='30']
      [a]を選択してください。 [同上]、[a]。 [障害者]、[a]。 [リンク]、[a]。 [名前]、[a]。 ピンイン、[a]。 [ポジション]、[a]。 [_CreateTime]、[a]。 [_CreateTimeStamp]、[a]。 [_UpdateTime]、[a]。 [_UpdateTimeStamp]
      [地域] AS [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      実行されたDbCommand(19ms) [パラメータ=[p0='?' (サイズ = 4000)]、CommandType='Text'、CommandTimeout='30']
      選択 * ピンイン = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      実行したDbCommand(1ms) [パラメータ=[]、CommandType='Text'、CommandTimeout='30']
      エリアから選択


もしSQL文がパラメータ化された変数のみを表示でき、渡された特定の値は表示できない場合、以下の構成が追加されます:

アプリケーションデータを例外メッセージやログなどに含められるようにしましょう。

これにはエンティティインスタンスのプロパティに割り当てられた値を含みます。

データベースに送信されるコマンドのパラメータ値やその他のデータ。

この旗は安全対策が整っている場合にのみ有効にすべきです

このデータの感度に基づいて。

申請が進んでいるかどうかに注目してください

Microsoft.EntityFrameworkCore.DbContextOptions generator.UseInternalServiceProvider(system. IServiceProvider)、

このオプションは、そのサービスプロバイダーのすべての利用に対して同じ方法で設定する必要があります。

Consider not calling Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

したがって、EFはサービスプロバイダーを管理し、必要に応じて新しいインスタンスを作成できます


完全なセットアップは以下の通りです:

レンダリングは以下の通りです:



もちろん、上記の設定はDbContextのOnConfigratingメソッドを上書きすることでも設定できます(推奨されません):

(終わり)




先の:Financial TipRanks株価分析評価
次に:EFコアシリーズ(5)はSQL文やビュー、ストアドプロシージャを実行します
 地主| 掲載地 2021/09/26 9:21:07 |
efは生成されたSQL文を表示します
https://www.itsvse.com/thread-3813-1-1.html
掲載地 2021/10/26 9:46:19 |
勉強して、時間制限がどうなっているか確認してください
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com