問題タブ [ef-database-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.
ef-code-first - EF 5.0 コード ファーストからデータベース ファーストへの移行: クリーンアップするファイルは?
Entity Framework 5.0 ベースのプロジェクトをコード ファーストからデータベース ファーストに移行する場合。標準の VS2012 ウィザードを使用して、データベースから edmx モデルを生成しますが、それ以外に追加の手順はありますか? コード ファースト モデルと migrations フォルダーを定義したすべてのクラスを削除する必要があると思います。これら 2 つ以外のクリーンアップ操作はありますか?
[編集]: 報告します。
したがって、実際の経験は、私の最初の期待とLadislavが言及したことの間にありました(彼が言ったように、正確な条件はコードに依存します)。私の場合、操作全体に約 15 ~ 20 分かかりました。
- ブランチの作成 (万一の事態に備えて安全に!)
- Code-first クラスとソースの削除 (差分参照のために VS2012 の外に移動しました)
- データベースからの EDMX モデルの作成 (同じ名前空間などをウィザードに渡して、差異の程度を減らします)
- コード ファースト クラスと自動生成された db-first クラスのクイック インスペクション。これは、最初のコード モデルで適切な名前を使用したため、ほとんど 1:1 でした。
- 各エラーを 1 つずつコンパイルして修正する
- 多くのエラーが、EF 5 の自動複数形と異なるフィールドの私自身の複数形によるものであることに気付きました。大文字と小文字を区別するクイック検索で 40 以上のエラーを修正 -> すべて置換
- コンパイル後にすべてのテストを再実行します
- フィーチャー ブランチをマージして戻します。
ありがとう
vb.net - Entity Framework 5 Database First による依存性注入。入門?
Entity Framework 5 と Database First (SQL Server 2008 R2 への接続) を使用して VB.NET 11 WPF MVVM アプリケーションを作成しようとしています。
もちろん、データベースが既に存在する WPF MVVM に既存のソリューションを移行しているため、データベース ファーストを選択しました。
できるだけ多くのコードを単体テストできるように、依存性注入の使用を開始したいと考えています。
EF DB-First、特にvb.netで依存性注入を使用する方法の明確で簡潔なウォークスルーを見つけることができないようです。C# の例でも問題ありませんが、私は確信しています。
私が本当に欲しいのは、ソリューションをセットアップする方法、依存性注入の準備ができている各部分をセットアップする方法などを説明する簡単なステップバイステップのガイドですが、これらを手に入れるのは難しいようです.
これまでのところ、次のようにソリューションとプロジェクトを作成しました。
- DBAccess - これには、私の .edmx ファイルと、コンストラクターに ConnectionString を提供できるようにするための小さな mod しか含まれていません。
- DBControl - これには、EDMX と ViewModel の間のレイヤーを提供するために使用するさまざまなクラスが含まれています。具体的には、UI を介して「より使いやすい」データを表示し、保存/更新のためにこれらの「使いやすい」複合型をマップされたエンティティに変換するために、ここで複合型 (デザイナーを使用して作成したもの) を埋めています。データベースのテーブルごとに 1 つのクラスがあります。それぞれに 2 つの"FetchFriendlyRecords"メソッド (1 つはフィルターを受け入れます) と " AddUpdateFriendlyRecord " メソッドがあります。各クラスのインターフェイスを作成しました。各クラスはコンストラクターで DbContext を受け入れます。DBAccess プロジェクトから DBContext を渡すだけです。
- MainUI - これは、MVVM レイヤーを格納し、DataBinding などを提供するために DBControl プロジェクトの各クラスを参照します。
EF で単体テストできるように複雑なソリューションを作成するのに時間を費やす代わりに、テスト データが入力されたしっかりしたモック データベースを作成し、単純にコードをモック データベースに向ける方が簡単だという提案を見てきました。生きる。ただし、SQL Server にアクセスする必要がまったくないインメモリ ソリューションを作成できるようにしたいと考えています。
私がこれについてすべて間違っているかどうかを教えてくれるなど、どんな助けも素晴らしいでしょう!!
アップデート:
以下の Paul Kirby によって提供されたソリューションを使用して、「一種の」リポジトリ パターンを作成しました。
インターフェイスを作成しました。
次に、このインターフェイスをクラスごとに実装しました。
コンストラクター インジェクションを使用して、dbContext をクラスに挿入しました。
既存のコンテキストと"Effort" Unit Testing Toolを使用して、偽の dbContext をモックアップできることを望んでいました。
しかし、私はこれを機能させることができないようです。
暫定的に、ユニット テスト プロジェクトで、ライブ データベースと同じスキーマを使用して、SQLCMD コマンドを使用して (既に存在する場合は) 削除し、空のテスト データベースを作成します。
次に、テスト データベースを参照する dbContext を作成し、テスト データを入力して、これに対してテストします。
注意として、「フレンドリーな」複雑なバージョンではなく、実際の基本エンティティで動作するように「追加/編集」メソッドをリファクタリングします。これは当時最も単純な方法でした。
entity-framework-5 - Entity Framework Database First、自己参照エンティティ階層のインターフェイス
サブカテゴリを持つ自己参照エンティティ カテゴリがあります。それは非常にうまく機能します。
JsTree ヘルパーを実装したいのですが、同様の構造を使用する別のプロジェクトがあるため (Category は両方のプロジェクトで 100% 類似したエンティティです)、クラス ライブラリにヘルパーを実装し、両方で利用できるようにしたいと考えています。
これは Entity Framework によって生成されたコードです。ここでは変更はありません。
これは私が書いたインターフェースです:
そして、ICategory を実装する Category の別の部分クラスを追加しました。
問題は、次のコンパイル エラーが発生することです。
エラー 6 'MyProject.EntityFramework.Models.Category' はインターフェイス メンバー 'ICategory.Subcategories' を実装していません。'MyProject.EntityFramework.Models.Category.Subcategories' は、'System.Data.Objects.DataClasses.EntityCollection < ICategory >' の一致する戻り値の型がないため、'ICategory.Subcategories' を実装できません。
この問題を解決するアイデアはありますか? 私は何を間違っていますか?カテゴリは ICategory を実装しているので、ICategory 内のサブカテゴリ (ICategory コレクション) は一致する必要がありますね。
私はEF 4.4を使用していますが、問題はそれとは関係がないと思います。前もって感謝します。
asp.net-mvc-4 - SimpleMembershipInitializerは初期化されません
EntityFramework / MVC4/DatabaseFirstプロジェクトでsimplemembershipシナリオを機能させるのに苦労しています。最初にコードを操作するための例をたくさん見つけましたが、DBを最初に使用する例はありません。
私が遭遇している問題は、InitializeDatabaseConnectionがエラーをスローしていることです(「要求された.Net Frameworkデータプロバイダーが見つかりません。インストールされていない可能性があります。」)コードは次のようになります。
どのDataProviderが失敗しているかわかりません。InitializeDatabaseConnection呼び出しをトレースしようとすると、すぐにエラーがスローされます。
私は何が欠けていますか?
情報:
DALEntitiesは、残りのEFが使用するconnectionStringの名前です。次のコードは問題なく動作します。
web.configの接続文字列セクション:
この投稿は同じ質問をしているようです(ただし、モデルファーストのコンテキストで)が、まだ解決策はありません:EFモデルファーストでSimpleMembershipを使用する
WebSecurity.InitializeDatabaseConnection()
また、ヘルプテキストで過負荷が発生していることがわかりますInitializes the membership system ((blah blah <snip> ProviderName: the name of the ADO.NET data provider. If you want to use Microsoft SQL Server, the WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection(String, String, String, String, Boolean) overload is recommended
。MSSQLサーバーに接続したいのですが...これは必要ですか?
mysql - MySQLでMVCデータベースファーストアプリケーションを作成する方法は?
MVCアプリケーションでMSSQLを使用できますが、MySQL(MVC 4、VS 2012、MySQL 5.5)を使用してMVCDatabaseFirstアプリケーションを作成したいと思います。サーバーエクスプローラウィンドウでMySQLに接続できます。新しいADO.NETエンティティデータモデルを作成すると、データソースリストにMySQLがありません。
MySQLを使用して最初のアプリケーションを作成するにはどうすればよいですか?
entity-framework - 最初に mvc 4 データベースでモデルを自動生成しますか?
最初にデータベースとエンティティ フレームワークを使用して mvc 4 Web プロジェクトを作成しましたが、既定のモデルが自動的に生成されないことに驚きました。.edmx ファイルからそれらを作成する方法はありますか、またはハンド コーディングを保存する他の可能性はありますか?
どんな助けでも大歓迎です
アップデート:
申し訳ありませんが、次のような基本的な方法で単純なモデルを生成するソリューションを探していることを言及する必要がありました。
.net - EntityFramework4.1データベースの最初の依存性注入作業ユニット
さて、Code Firstの依存性注入を伴う作業単位を使用した例はたくさんあり、汎用リポジトリーやその他すべての優れたものを使用しています。
データベースファースト(dbContext Generator(T4)を使用したedmx)、関数インポートとしてのストアドプロシージャ、依存性注入を使用した作業単位でこれを行う例はありますか?
asp.net-mvc - MVC4外部キー制約により、SQLデータベースへの挿入の転記が防止されます
MVC4を使用して、2列の複合キーを持つリンクテーブルに列を挿入しようとしています。両方の列は、2つの別々のテーブルの主キーです。
Key1は、URLで渡されたIDから生成されたWebフォームの非表示フィールドから取得されます。
Key2は、2番目のPKテーブルの名前のドロップダウンリストから選択された値です。
私の知る限り、値は正しいです(2つの主キーテーブルに表示されます)。
HttpPost Createアクション(主にデフォルトのスキャフォールディングコード)から、最初のPK-> FK制約との競合があることを示すエラーが発生する理由を誰かが知っていますか?
c# - EF4複合体Select():IEnumerableまたはIEnumerableを返しますビジネス層から?
適度に大きなVB.NET2.0アプリ(データセットを使用)をC#4.5(EF4を使用)に移行する新しいジョブを開始しました。
ビジネスレイヤーから、「検索」関数がEDMXで定義されたクラスのIEnumerablesを返すようになりました。したがって、このようなものは簡単です。
ただし、EF4の「Select()」メソッドがより複雑でカスタマイズされた(匿名の)型を生成する場合は、より複雑になります。結果に対応する生成されたクラスはありません。
この関数は層の境界(ビジネスからUI)を越える必要があるため、適切な解決策は、このクエリのカスタムタイプを定義してから、そのタイプのIEnumerableを返すことだと思いました。例えば
ProductAccountSummary
手作りのDTO(つまりPOCO)はどこにありますか。
ただし、コードレビュー中に、チームリーダーは私のアプローチに失敗しました。彼は私にDTOを削除し、メソッドシグネチャを次のように変更するように求めました。
....その理由は、カスタムタイプを使用する必要があるたびにDTOを手作りするオーバーヘッドなしに、IEnumerableをUIグリッドなどにバインドできるためです。
だから私の質問は:
- EF4では、カスタムタイプのコレクションを層の境界を越えて渡すための一般的なアプローチは何ですか?IEnumerable(暗黙的に「オブジェクト」の)を返すことは、私には正しくないようです。私は何かが足りないのですか?
entity-framework - ef5 データベースの最初のデータ注釈
VS2012 で MVC4 を開始しています。また、クラスを作成する「データベース ファースト」方式で EF5 を使用しています。
ただし、生成されたメガネは再生成できるため、データ注釈の詳細を検証に役立てることはできません。
MetaData と部分クラスを使用するいくつかのコード スニペットを見てきましたが、さまざまなクラスがどのように相互リンクするかをよりよく理解するために、私が調べて分解できる小さなコンパイル可能な例を誰かが知っているかどうか疑問に思っていました。
助けてくれてありがとう。デイブ