問題タブ [entity-framework-migrations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity-framework-4 - 1 つのデータベースに複数の DbContext がある EF 4.3 自動移行
複数のコードファースト DbContext で EF 4.3 移行を使用しようとしています。私のアプリケーションはいくつかのプラグインに分かれており、ドメインに関して独自の DbContext を持つ可能性があります。アプリケーションは、単一の sql-database を使用する必要があります。
空のデータベースでコンテキストを自動移行しようとすると、最初のコンテキストでのみ成功します。他のすべてのコンテキストでは、AutomaticMigrationDataLossAllowed-Property を true に設定する必要がありますが、前のテーブルの削除を試みます。
だから私の質問は:
- 対応するコンテキストで定義されたテーブルの世話をし、他のすべてをそのままにしておくように移行構成に指示するにはどうすればよいですか?
- 単一のデータベースで自動移行を使用して複数の DbContext を処理するための適切なワークフローは何ですか?
ありがとうございました!
c# - EF Code First でデータ注釈のみを使用して双方向の関係を作成することは可能ですか?
Entity Framework Code First と Entity Framework Migrations (4.3.0-beta1) を使用して、次のようなデータベース構造を作成したいと考えています。
次のようにモデルを定義すると:
移行を追加すると、次の移行コードが生成されます。
これにより、正しい構造が得られます。
流暢な API を使用せずにこの結果を達成できるかどうかを知りたいです。
次のように流暢な API の説明を省略した場合:
次に、Cities テーブルに 2 つの追加フィールドが作成されます。
しかし、流暢な API 命令は、Code First 規則を使用してすでに発見できる以上の情報を追加しているようには見えません。
この種の関係、特に流暢な API を必要としない関係を作成するためのより良い方法があるかどうかを知りたいです。
コード スニペットは gist として入手できます。
entity-framework - 「configSourceファイルを開くことができません」をスローするEF4.3移行
EF4.3移行機能を使用しようとしています。私のASP.NETMVCプロジェクトは、接続文字列を外部ファイルに保存します。
すべてのランタイム手順(自動移行を含む)は正常に機能します。ただし、データベースに接続しているPowerShellコマンドレットは、外部ファイルを見つけることができません。「configSourceファイルを開くことができません」という例外がスローされます。.configファイルを別の場所に配置しようとしただけでなく、構成された外部ファイルの場所を無効に変更しようとしました。利用可能な回避策はありますか?
更新:EFが一時ディレクトリにある構成ファイルを使用して一時的なAppDomainを作成することを発見しました。したがって、現時点での唯一の回避策は、外部構成を同じ一時ディレクトリに配置することです。他に何か提案はありますか?
entity-framework-4 - EntityFramework 4.3で既存のデータベースの移行を作成するにはどうすればよいですか?
だから私はEntityFramework4.3の移行を始めたいと思います。既存のデータベースを移行対応データベースに変換できるかどうかを知りたいのですが、EFに、それ以降の変更のみを移行と見なす必要があると想定させました。
entity-framework - EF 4.3 で Update-Database を実行するとエラーが発生する
プロジェクトを Entity Framework 4.3 にアップグレードし、プロジェクトで移行を有効にしました。
ただし、Update-Database コマンドを実行すると、次のエラーが発生します。
ターゲット データベースが EF 4.3 より前のバージョンの Code First で作成されており、移行履歴テーブルが含まれていないため、次の移行をスキャフォールディングできません。このデータベースに対して移行の使用を開始するには、現在のモデルがターゲット データベースと互換性があることを確認し、移行の更新プロセスを実行します。(Visual Studio では、パッケージ マネージャー コンソールから Update-Database コマンドを使用して、移行の更新プロセスを実行できます)。
基本的に、エラーが発生しているのと同じコマンド (Update-Database) を実行するように指示しています。
何か案は?
正確には「楽しい」方法ではありませんが、アプリに新しいデータベースを作成させ、「__MigrationHistory」というシステム テーブルを作成します。次に、次のスクリプトを実行して、古いデータベースにそのテーブルを作成しました。また、新しいデータベースに存在していた 1 行を古いデータベースにコピーするスクリプトも作成しました。
マイクロソフトまたはコミュニティの誰かがこれを行うためのより効率的な方法を知っている場合は、ここに投稿してください!
.net - エンティティ フレームワーク 4.3 は、アプリケーションの開始時に移行を実行します
EF 4.3 でアプリケーションを起動するときに必要なすべてのデータベース移行を実行する最善の方法は何ですか?
.net - Entity Framework 4.3: 構成ファイルが分離されている場合の「update-database」
でef 4.3に移動
次web.config
の設定があります。
パッケージ マネージャー コンソールで実行します。
次のエラーが発生しました:
connectionStrings.config
エラーは理解できます。ファイルが存在するルート プロジェクト ディレクトリではない作業ディレクトリからファイルを開こうとしconnectionStrings.config
ます。
connectionStrings.config と appSettings.config のコンテンツを web.config に移動すると、すべて魅力的に機能します。
それはバグですか、それはどうにかして解決できますか?
entity-framework-migrations - データをシードするときに作業ディレクトリを設定します
EF 4.3 移行を使用してサンプル データ (シード データ) を挿入しようとしています。
問題は、xml ファイルからデータを読み取りたいことです。しかし、Update-Database
コマンドレットを実行すると、次のようなエラーが発生しまし Could not find a part of the path 'C:\SampleData\'
た。
Update-Database
PowerShell コンソールから実行するときに、作業ディレクトリを現在のプロジェクト フォルダに設定する方法はありますか。
前もって感謝します。
c# - 他のアセンブリで既にマップされているエンティティのマッピングを変更する方法は?
EF のエンティティのマッピングをカスタムしたい
たとえば、次のエンティティがあります。
一般的に使用されている EF では、既に OnModelCreating() にマッピングが追加されています。2 つの別個のアセンブリに 2 つの関数がある場合、AssemblyA.dll と AssemblyB.dll を呼び出すと、MEF フレームワークによって動的に読み込まれます。
AssemblyA.dll は ColA のみを必要とし、ColB を削除する必要があり、AssemblyB.dll についてはその逆を行う必要があるため、これら 2 つのサービスに対して 2 つの新しいマッピング クラスを定義する必要があり、アセンブリに従って列を削除するために動的に実行されます (AssemblyA は ColB を無視し、 AssemblyB は ColA を無視します)。現在の EF は既に運用されているため、コードを変更したくありません。各アセンブリのすべての変更は、独自のものにする必要があります。
EF は、このようなことをサポートしてくれますか? または、方向性を教えてください。