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

眺める: 27075|答える: 0

[出典] EF Core Series 2はOnModelCreatingをカプセル化し、反射を用いてインデックスを作成するなどを備えています

[リンクをコピー]
2020年9月22日 10:57:19に投稿 | | | |
インデックス作成は複数のデータストアで共通する概念です。 データストアでの実装は様々ですが、より効率的にするためにカラムベースのルックアップ(または列の集合)にも利用可能です。

ハイパーリンクのログインが見えます。

知っておくべきこと:

.net/c#は反射動的実行手法を活用しています
https://www.itsvse.com/thread-4771-1-1.html

C#の反射はオブジェクトプロパティのディスプレイ名を得ます
https://www.itsvse.com/thread-3219-1-1.html

Entity Framework 6では、フィールドに属性を追加することでインデックスを追加できますが、ef coreでは属性を使ってテーブルフィールドにインデックスを追加できないため、OnModelCragingメソッドを書き直し、対応するルールを一つずつ書く必要があります。

このメソッドでは異なるテーブルを書く必要があり、保守が難しく読みやすさも低いため、更新や検索を容易にするために各テーブルのインデックスを独自のメソッドで書きます。

EFコアが使用されていますコード・フリストスキーマはテーブル構造を作成します。

まず、新しいIOnModelCreateインターフェースを作成します。コードは以下の通りです:

異なるテーブルのクラスクラスの下部にオブジェクトを定義し、インターフェースを継承します。例えば:

アカウント設定コード:
EmailSentHistorySettingコード:

自分のDbContextコンテキストオブジェクトでOnModelCringメソッドを書き直し、リフレクションメソッドを使い、OnModelCringメソッドを実行してインデックス、リレーションシップ、データシーディングなどを作成します。

OnModelCringメソッドは以下の通りです:



Create Migrationコマンドを実行して、以下のコードを生成します:



発見やインデックスの作成は、リフレクション手法などで成功裏に作成可能です。

(終わり)





先の:.NET CoreはRedisに基づく分散ロック原理解析を実装しています
次に:ASP.NET Core(1)はRedisキャッシュを使用しています
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com