問題タブ [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.
entity-framework - コードファーストvsモデル/データベースファースト
Entity Framework 4.1コードファーストをモデル/データベースファーストよりもEDMXダイアグラムで使用することの長所と短所は何ですか?
EF4.1を使用してデータアクセス層を構築するためのすべてのアプローチを完全に理解しようとしています。リポジトリパターンとを使用していますIoC
。
コードファーストのアプローチを使用できることはわかっています。エンティティとコンテキストを手動で定義し、それを使用ModelBuilder
してスキーマを微調整します。
ダイアグラムを作成し、 T4テンプレートを使用して同じクラスEDMX
を生成するコード生成ステップを選択することもできます。POCO
どちらの場合も、私は不可知論者であり、から派生したコンテキストであるPOCO
オブジェクトになります。ORM
DbContext
Enterprise Managerでデータベースを設計し、モデルをすばやく同期して、デザイナーを使用して微調整できるため、データベースファーストが最も魅力的なようです。
では、これら2つのアプローチの違いは何ですか?VS2010とEnterpriseManagerの好みだけですか?
asp.net-mvc-3 - ASP.NET MVC 3 サイトへの動的データ (データ スキャフォールディング用) の追加
私はここで最初の ASP.NET MVC 3 プロジェクトを行っています。ストアド プロシージャをサポートする必要があるため、EDMX の優れた点など、"データベース ファースト" アプローチで Entity Framework 4.1 を使用することにしました。
ストアド プロシージャのサポートが絶対に必要なので、コード ファーストを使用することはできません(好きなだけ)。
すべてのクールな新しい MVC スキャフォールディングはコード ファーストに基づいているようです (これは使用できません - 上記を参照ObjectContext
) DbContext
。
では、EF 4.1 データベース ファーストのアプローチを使用して、MVC 3 アプリのクイック セクションを作成していくつかのルックアップ テーブルを足場にするにはどうすればよいでしょうか。動的データを使用できますか? これを既存の MVC 3 (.NET 4) プロジェクトに追加するにはどうすればよいですか?? 動的データの「新しい項目を追加」エントリが見つからないようです.....そして、私が見つけたすべてのハウツー ビデオは MVC 1 または 2 および .NET 3.5 用です - それらはまだ適用されますか??
entity-framework-4 - Database First EF が一部のテーブルのマッピングをスキップするのはなぜですか?
Entity Framework 4 と Database First バインディングを使用していますが、EF がいくつかのテーブルのエンティティを生成していません。エラーは発生しません。また、デザイン サーフェイスの [データベースからモデルを更新] ポップアップ メニューから生成するテーブルを何度選択しても、同じテーブルがモデルに表示されません。
ウィザードでエラーが発生しません。それらは生成されません。手がかりはありますか?
entity-framework-4.1 - Database First に対する CodeFirst の利点は何ですか?
私は EF 4.1 のビデオとチュートリアルをいくつか見ていましたが、CodeFirst の利点を理解していません (DB が非常に小さい 3 ~ 4 テーブルであり、最初に DB を作成するのが面倒な場合を除いて)。
ほとんどの場合、これまでのところ最善のアプローチは、ある種のデータベース エディターでデータベースを作成することです。これは、エンティティ モデルで編集するよりも確実に高速であり、EF はすべての関係を取得し、関連付けを正しく作成します。命名規則などに課題があることは承知していますが、すべてがコードのように見え、コーディングするには多すぎるため、Code First を管理するのは非常にわかりにくいと感じています。
CodeFirst ができて、Db first ができないことは何ですか?
entity-framework - 最初に MVC3 と EF データ: ベスト プラクティスは何ですか?
MVC3 と EF4.1 の焦点のほとんどは「コード ファースト」にあるようです。次の基準を満たす例やチュートリアルが見つからないようです。
- 既存の SQLServer データベースを使用する
- Web とデータ アクセス用に別々のプロジェクトがあります (複数の Web アプリが同じデータ アクセス クラスを共有します)。
- 検証の推奨事項
そのような例やチュートリアルは存在しますか? これを達成する方法について文書化された「ベストプラクティス」、またはこのように構成されたソリューションを持たない理由はありますか?
entity-framework - エンティティフレームワークが必要に応じてnull許容でない列に注釈を付けないのはなぜですか?
私は最初にデータベースでEF4.1を使用しています。
表の例:
EFは、nullable=falseとして3列すべてのモデルを正しくロードします。
コード生成アイテム「ADO.NETDbContextGenerator」からの出力:
FooController
MVC3では、dbコンテキストとfooモデルを介してviaを生成します。/ Foo / Createを起動し、空白のフォームで[Create]をクリックすると、[Created]フィールドに検証エラーが表示されますが、[Title]には表示されません。
「作成された」日付のみを入力すると、例外が発生します。
1つ以上のエンティティの検証に失敗しました。詳細については、「EntityValidationErrors」プロパティを参照してください
例外は「タイトルフィールドは必須」です。
なぜ一方の列ではうまく機能するのに、もう一方の列ではうまく機能しないのかわかりません。私の最初の修正は単に注釈を追加することでしたが、クラスコードはEFによって自動生成されます。
動作していると思われる唯一の修正は、部分的なメタデータクラスを使用することです。ASP.NETMVC3-EFデータベースファースト(ObjectConext、DbContext)によるデータ注釈
必要に応じて[必須]タグを追加できますが、これは不要です。これはEFのバグですか、それとも何かが足りないだけですか?
c# - 複数のモデルで同じテーブルを使用するには?
MVC3 Web アプリケーションで Entity Framework 4.1 を使用しています。私は、約 200 以上のテーブルを持つデータベースを使用してレガシ アプリケーションを書き直す任務を負っており、既にデータが配置されているため、EF でデータベース ファーストのアプローチを採用しています。
アプリ全体に対して 1 つの巨大な edmx モデルを作成するのは悪い習慣であることは理解していますが、何時間もの調査の後、共通テーブルを再利用する方法がわからないため、前進する方法について明確な方向性を得ることができません。複数のモデルで。しかし、モデルをより小さく、扱いやすいコンテキストに分割したいと考えています。
2 つのモデルに共通テーブル (Users など) を配置すると、プロジェクトは次の形式でコンパイル エラーをスローします。
タイプ 'Project.Models.EntityX' には既に 'EntityX_PropertyY' の定義が含まれています
私が見つけた回避策に最も近いのは、http: //connect.microsoft.com/VisualStudio/feedback/details/366721/entity-framework-the-type-xxx-already-contains-a-definition-for-です。バツ
Microsoft によって 2008 年 9 月 17 日午後 5 時 18 分に投稿されました。
この問題は仕様によるものです。回避策は、モデルを別のフォルダーに配置するか (C# および ASP.NET プロジェクトの場合)、カスタム ツールの名前空間を設定することです (C# および VB プロジェクトの場合)。
これは'08年にさかのぼります。どちらのオプションも機能しませんでした。複数のモデルで同じテーブルを使用できるようにプロジェクトを設計するためのより良い方法があるかどうか疑問に思っています。
entity-framework - Entity Framework は DAL コードを生成できますか?
エンティティ フレームワークにはデータベース ファーストのアプローチがあることを知っています。問題は、DAL (データ アクセス レイヤー) コード (モデルではない) を生成できるかどうかです。
database - MVC 3 Database First および Entity Framework 4.1: データベースのデータが表示されません
Visual Studio 2010、MVC 3、および Entity Framework 4.1 (データベース ファースト) を使用して、既存のデータベースを使用する Web アプリケーションを作成しました。つまり、データベースの構造を使用して、モデルの基本コードを生成しました。「EntityFramewordを使用して、読み取り/書き込みアクションとビューを備えたコントローラー」を足場オプションとしてコントローラーを作成しました。しかし、Web アプリケーションにアクセスすると、データベースに既にあったデータが表示されず、新しいデータを挿入すると、Web アプリケーションを使用して表示できるのに、データベースでは表示されません。Web アプリケーションがどこでデータを取得して保存しているのか疑問に思っています。あたかも同じ構造の新しいデータベースが別の場所に作成されたかのようですが、どこにあるのかわかりません。
ちなみに、最初のコントローラを作成するとき、データ コンテキスト クラスとして「新しいデータ コンテキスト...」を指定しました。