問題タブ [ef-model-first]
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 - EF5.0 モデルからデータベース スキーマを最初に変更する方法を教えてください。
モデルファーストのアプローチでVS2012とEF 5.0を使用しています。すべてのテーブルを削除したり、既にそこにあるデータを失うことなく、モデルの変更を更新するために増分 DDL を生成する良い方法があるかどうか疑問に思っています。
database - エンティティフレームワークでモデルファーストアプローチを使用した移行
私にとってより論理的に理にかなっているので、モデルファーストアプローチを採用したシステムをセットアップしました。今、私でさえモデルにいくつかの変更があるとき、現在私がしていることは-
- エンティティフレームワークのモデル機能からデータベースを生成を使用します。ダミーデータベースを作成し、それらのスクリプトを適用します。これにより、最初にすべてのデータとテーブルが削除され、次にエンティティフレームワークによって生成された最新のSQLファイルでデータベースが更新されます。
- ここで、Visual Studioのスキーマ比較機能を使用して、ローカルデータベースと本番データベースの移行スクリプトを生成します。
- スクリプトを手動で調べて確認します。それが完了したら、本番インスタンスで移行スクリプトを実行します。
質問:主な問題は、それが本当に面倒であり、ローカルシステムから行うため、prodデータベースへの接続が非常に遅く、ビジュアルスタジオもクラッシュすることがあるということです。これを行うためのよりクリーンなアプローチはありますか?私のラップトップが本番インスタンスでのデータベースの移行を実際に担当しないように、より自動化されているのはどれですか?
wpf - モデルからデータベース インスタンスを作成する
※多少のズレがあるようです。SQL Server Compact Edition ファイルを作成し、サーバー エクスプローラーから表示できます。右クリックしてテーブルを手動で追加することもできます。私がしたいことは、生成された sqlce ファイルを実行して、モデルのすべてのテーブルと列を SDF に追加することです。
- バックグラウンド -
Visual Studio 2012 (Ultimate) で、モデル デザイナーを使用してモデルを設計しました。edmx ファイルを作成しました。モデルを右クリックして「モデルからデータベースを生成...」を選択し、sqlce ファイルを作成しました。私の理解では、このファイルを何らかの方法で sdf で実行して、データベースの SQL Server Compact Edition インスタンスを作成できるはずです。右クリックでSQLコードを実行するオプションが表示されません。もう1つのオプションは、「ソリューションエクスプローラーでSQLスクリプトを実行する」という意味ではないようです。
http://msdn.microsoft.com/en-us/library/yea4bc1b.aspx sqlce ファイルをデータベース参照にドラッグするように指示されていますが、その意味がよくわかりません。SDFが接続されているサーバーエクスプローラーにドラッグしようとしました。
Server Explorer で sdf を右クリックして New SQL Query を実行し、sqlce を貼り付けてみましたが、Create Table はサポートされていないようです。
何か案は?
entity-framework - 最初の Entity Framework 5 モデル - IDisposable はどこへ行ったのですか?
最初の Entity Framework 5 モデルでは、クラス ファイルの生成方法が原因でいくつかの重大な変更があるようです (コード生成はなくなりますが、T4 テンプレート)。
2 つの例:
- 生成されたコンテキスト ファイルは IDisposable を実装しなくなりました
- もう接続文字列を取るコンストラクターはありません
さらに破壊的な変更はありますか? そして、それらへの解決策は何ですか?
asp.net-mvc-3 - EFモデルの最初のアプローチを使用して一意の制約を確認する方法は?
モデルファーストアプローチを使用してMVC3を使用してWebサイトを開発しています。
「従業員」モデルに「ユーザー名」というフィールドがあります。そして、このフィールドは一意のフィールドでも外部キーでもありません。私のアプリケーション要件はusername should be unique, and if user enters duplicate value then it show error message
です。
私のmvcプロジェクトでは、クラスライブラリとしてエンティティフレームワークを作成し、モデルクラスにアクセスするためのmvcプロジェクトにその参照を追加しました。これは、私のWebサイト用に作成したエンティティフレームワークに関連しています。
EFモデルの最初のアプローチを使用して、モデル自体でこれを行う方法は?
entity-framework - SQL Server 計算列と EF モデル ファースト
モデルファーストのアプローチを使用してEF5を使用しています。モデルを設計し、対応するデータベースを生成する SQL スクリプトを実行しました (「モデルからデータベースを生成」を使用)。
次に、UDF を使用していくつかの列の値を計算する必要がありました (列を削除して再度追加する必要があります)。私はSSMSでそれを行い、「データベースからモデルを更新...」を使用してモデルの変更を反映しました。
この時点まで、すべてがうまくいきました。
しかし、この時点から、(上記のように) モデルからデータベースを更新するたびに、計算列は「標準」列でオーバーライドされます。
たとえば、次は EF によって生成された SQL スクリプトからの抜粋です。
最後の 2 つの列は計算列でありStoreGeneratedPattern
、モデルでは として定義されていComputed
ます。
モデルに計算列の数式を追加する方法はありますか? SQL スクリプトはテーブルを削除してから再作成するため、これらの列を「無視」することはできません。
sql-server - データベースを作成して Visual Studio ソリューションに追加する
Entity Framework 4 と Visual Studio 2010 でデータベースを作成しています。
最初の手順は問題ありません。最初にモデルを作成するので、モデルが正常に作成され、ソリューションに有効な .edmx ファイルが含まれるようになりました。
私の目標は次のとおりです。データベースを生成してソリューションに追加し、他の人にソリューションを提供して、他の人がそれを構築して実行できるようにしたい - データベース接続を他の人に依存させたくないデータベースを再作成する必要がないようにしたいのですが、データベースには「シードデータ」が含まれています。それは可能であるべきです、私は同様の解決策を見ました。
その方法についてアドバイスをいただければ幸いです。
c# - 外部型の列挙型を参照し、メソッドを含む
.net 4.5 と EF 5.0 に切り替えたので、列挙型マッピングの使用を開始しました。私のプロジェクトでは、最初にモデルを使用しています。すべての列挙型が以前に宣言されているため、EDM でフィールドを列挙型に変換しているときに、「外部型の参照」オプションを使用することにしました。すべて正常に動作しますが、次のようなコードを実行しようとすると
次のメッセージで ArgumentException が発生しています。
配線されているのは、参照外部型を使用していないときはすべて問題ないということです。EDM の背後にあるものは理解していますが、列挙型がモデルで定義され、後で T4 によって生成されるときに、このコードが機能する理由を理解できません。
参照外部型を使用したいのですが、これはいくつかの制限です。基になる型にキャストできることはわかっていますが、これはハックです。
----編集ここにスタックトレースがあります
asp.net-mvc - 削除ビューでキーを渡す場合でもDbUpdateConcurrencyException
私はすでに問題を修正したので、なぜこれが起こり始めたのかについて私は非常に混乱しています。@Html.HiddenFor(model => model.OrganizationID)
この問題が最初に発生したとき、私はフォームのPOSTアクションを通過していませんでした。私がそれを入れた後-それはうまくいきました。
現在、それは再び機能していません。何かを削除しようとすると、DbUpdateConcurrencyExceptionがスローされます。私の編集ビューは問題なく機能します。
このチュートリアルに従って、モデルファーストアプローチを作成しました。
これらは、私のコントローラーであるOrganizationControllerの削除アクションです。
これは私の削除ビューです:
IDが渡され、実際にPOSTアクションに渡されているかどうかを確認するためにデバッグしました。ここからどこへ行けばいいのかわからない。HiddenFor
私が検索するものは何でも、ステートメントを追加するだけです。
entity-framework - エンティティフレームワーク:手動で維持されるマッピング
私はしばらくの間EFを使用しており(モデルが最初の場合は4)、これまでのところ手動でマッピングを作成していません。さらにエンティティ/テーブルが必要な場合は、エンティティと関連付け(すべての外部キー)を追加し、[モデルからデータベースを更新]をクリックします。これは、よく知られているように、モデルからデータベースを更新しません(ただし、必要です)。わからない理由でデータベース接続)。それが行うことは、ストレージモデルとそれに適切なマッピングを生成することです。これらはすべて同じedmxxmlファイルに保存されます。
これまでのところ、これで十分でしたが、マッピングとストレージモデルを手動で微調整すると、ワークフローはどうなるのでしょうか。「モデルからデータベースを更新」は、すべての手動カスタマイズを上書きします。では、ほとんどのマッピングとストレージモデルを修正するにはどうすればよいでしょうか。私は明らかにすべてを手作業で行いたくないので、実際には、xmlでedmxを編集する以外に、ストレージモデルで実際にテーブルを作成する方法を理解することさえできませんでした。