この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
.Net/C#
›
EF 6 Code-First におけるデータベース初期化戦略
眺める:
37510
|
答える:
1
[出典]
EF 6 Code-First におけるデータベース初期化戦略
[リンクをコピー]
クズども
掲載地 2019/04/17 15:56:46
|
|
|
Code-Firstアプリケーションを初めて実行した後にすでにデータベースを作成しましたが、2回目を始めた後は何でしょうか? アプリケーションを実行するたびに新しいデータベースが作成されますか? 本番環境はどうですか? ドメインモデルを変更するときに、データベースはどうやって変更すればいいですか? これらのシナリオを処理するには、データベースの初期化ポリシーのいずれかを使用する必要があります。
データベース初期化戦略は4つあります。
CreateDatabaseIfNotExists
:これは
デフォルト
初期化手順。 名前の通り、設定上存在しないデータベースを作成します。 しかし、モデルクラスを変更してからこのイニショライザーでアプリケーションを実行すると例外が発生します。
DropCreateDatabaseIfModelChanges
: モデルクラス(エンティティクラス)が変更された場合、このイニショライザは既存のデータベースを削除し、新しいデータベースを作成します。 モデルクラスが変わってもデータベーススキーマのメンテナンスを心配する必要はありません。
DropCreateDatabaseAlways
:名前の通り、この初期化器はモデルクラスが変更されたかどうかに関わらず、アプリケーションを実行するたびに既存のデータベースを削除します。 これは、例えばアプリケーション開発の際に、アプリケーションを実行するたびに新しいデータベースが必要な場合に有用です。
カスタムデータベース初期化器
上記の条件に合わない場合は、独自のカスタム初期化器を作成したり、他のデータベースの初期化処理を上記で行いたい場合は、独自の初期化器を作成することもできます。
上記のDB初期化戦略のいずれかを使用するには、データベースコンテキストクラスのクラスを使ってDBイイジョライザを設定する必要があります。以下のように示されています。
ログインが見えます。
また、以下のように、イイショナイザのいずれかを継承することでカスタムデータベース初期化器を作成することもできます。
ログインが見えます。
上記の例では、SchoolDBInitializerはCreateDatabaseIfNotExistsから派生したカスタム初期化器クラスです。 これにより、データベースの初期化コードとコンテキストクラスが分離されます。
設定ファイル内でDB初期化器を設定します
設定ファイル内でDBの初期化器を設定することもできます。 例えば、app.configでデフォルトの初期値を設定するには:
ログインが見えます。
カスタムデータベースの初期化器は以下のように設定できます:
ログインが見えます。
DB初期化器を閉じる
アプリケーションのデータベース初期化器をオフにできます。
本番環境で既存データを失いたくなければ、イニショナイザーを閉じることができます
、は以下の通りです:
ログインが見えます。
設定ファイル内で初期化器をオフにすることもできます。例えば:
ログインが見えます。
先の:
イラストレイテッド・クリプトグラフィー第3版
次に:
シリコンバレー 2018年4月の就職クラス動画
関連記事
•
SQL Serverサーバーはデータベースの整合ルールを修正します
•
SQL SERVERデータベースはデフォルトの照合ルールを修正します
•
SQL Serverのレプリケーションは、データベースを新しいデータベースにクローンします
•
MySQLデータベースのテストテーブルは1,000万件のデータを挿入します
•
[翻訳] なぜNET/C#のMySqlConnectorとMySql.Dataが前者を勝ち取るのか
•
.NET/C# はDataTablesを通じて動的にテーブル構造を作成します
•
SQL SERVERデータベース用のメモリ最適化テーブル
•
SQL Serverがクラスタ化されていないインデックスに対して作成する最大varchar長
•
[AI](15)ベクターデータベースQdrantは使いやすいです
•
【AI】(14) オープンソースベクターデータベースの簡単な紹介
クズども
地主
|
掲載地 2021/02/07 15:08:59
|
Entity Frameworkがもはや無効なテーブルから開始__MigrationHistory許可する
https://www.itsvse.com/thread-3255-1-1.html
閲覧したセクション
リソースの共有
PowerShell
レジャー灌漑
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com