問題タブ [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.

0 投票する
1 に答える
790 参照

asp.net - モデルとデータベースを同期に戻す方法 Asp.net MVC

データベースを最初に使用する方法を使用して、Asp.Net MVC でアプリケーションを作成しました。edmx ファイルを使用してモデルを生成しました。ただし、コンテキスト クラスに変更を加えました。私が実行するたびに

アプリケーション次のエラーが表示されます。

「データベースが作成されてから、'ArticleContext' コンテキストをサポートするモデルが変更されました。Code First Migrations を使用してデータベースを更新することを検討してください」

エラーが私に与えるアドバイスに従うべきですか?「データベースファースト」の方法を使用したのに?

0 投票する
2 に答える
1845 参照

asp.net-mvc-4 - MVC4ナビゲーションプロパティなしで関連データをロードする方法

私は MVC の初心者で、EF-database-first を使用して MVC4 アプリケーションを作成しました。データベースに外部キー定義が含まれておらず、追加できません (データベースを所有していません)。データベースの 2 つのクラスの例を次に示します。

デフォルトの割り当てインデックス ページには、部門 ID が表示されます。代わりに部門名を表示したい。ナビゲーション プロパティなしでこれを行うにはどうすればよいですか?

私は試した

しかし、これによりエラーが発生します (「指定されたインクルード パスは無効です。EntityType 'TESTModel.Allocation' は、'DeptID' という名前のナビゲーション プロパティを宣言していません。」)...

ナビゲーション プロパティを使用せずにeager-loadingまたはexplicit-loadingをコーディングする方法がわからないため、この質問が生じました。効率的には、関連する情報をどの方法でロードするかは問題ではないと思います。

0 投票する
0 に答える
289 参照

c# - EntityObject Generator テンプレートを使用して外部列挙型を参照する

私は次の列挙型を持っています:

VehicleTypeCommon.VehicleType を参照する名前で、EF デザイナーで参照列挙型を作成しました。edmx はModels名前空間にあるため、最終的に 2 つの異なる列挙型になります。

エンティティ オブジェクト インスタンスに列挙型を設定するには、キャストする必要があります。

これにはいくつかの問題があります。

  1. 完全修飾名を使用する必要があります (列挙型の名前は、収集したものと同じでなければなりません)。
  2. どこにでもキャストする必要があります。
  3. Models名前空間が参照Commonしているため、循環参照を取得し、キャストするCommonには参照する必要があります。Models

これは簡単な説明です。リファレンスやジェネレーター テンプレートを変更することはできません。これは、非常に大きなプロジェクトでコードを大幅に変更することになるためです。

生成テンプレートが問題を引き起こしていると思います。これを回避する方法はありますか?

編集

EntityObject テンプレート ジェネレーターによって生成されたタイプ VehicleType のフィールドは次のようになります。

ここで、VehicleType は Models.VehicleType です

0 投票する
1 に答える
485 参照

asp.net-mvc-4 - 複合キーを使用した MVC4 ナビゲーション プロパティ

EF-database-first を使用して MVC4 Web アプリケーションを作成しました。テーブルには複合キー [ID, Name, EffDate] があり、データベースに定義された外部キーはありません: たとえば、Department 部分クラス:

部門メタデータ クラス:

Department テーブルを参照する Allocation テーブル。複合キー [DeptID、ProjectID、BillableUnitID、EffDate] もあります。できれば、DeptID フィールドを外部キーとして宣言しますが、データベースを制御することはできません。さらに重要なことに、T-SQL では外部キーを複合キーの一部にすることはできないと思います。

これは機能しますが、DeptID 番号の列を取得します。欲しいのは部署名の列です。

以前の質問で仮想ナビゲーション プロパティに誘導されたので、それらを追加しました。

Index の AllocationController のコードは次のとおりです。 public ActionResult Index() { return View(db.Allocation.Include(a => a.Department).ToList()); }

割り当てインデックス ビューへのリンクをクリックすると、次のエラー メッセージが表示されます (デバッグを停止した後)。

「/」アプリケーションでサーバー エラーが発生しました。

指定されたインクルード パスが無効です。EntityType 'KC_BillableUnit_TESTModel.Allocation' は、'Department' という名前のナビゲーション プロパティを宣言していません。

スタック トレース [InvalidOperationException: 指定されたインクルード パスが無効です。EntityType 'KC_BillableUnit_TESTModel.Allocation' は、'Department' という名前のナビゲーション プロパティを宣言していませ

。 Objects.Internal.ObjectFullSpanRewriter..ctor(DbCommandTree tree, DbExpression toRewrite, Span span) +256 ....continues....

注釈のさまざまな組み合わせを試しましたが、すべて同じエラーになります。

割り当てリストに DeptID 番号の代わりに部門名を表示するにはどうすればよいですか?

0 投票する
1 に答える
2254 参照

asp.net-mvc - EFデータベースを使用して継承を実装するにはどうすればよいですか-最初に

私はこの単純なクラスを持っています:

SpecialMovieここで、 。という1つの追加プロパティを持つ...を実装したいと思いますSpecial

私はデータベースファーストのアプローチで働いています。

私はいくつかのチュートリアルを見つけようとしましたが、本当に役に立ったものは何もありませんでした。

私はSQLServer2008の本を持っていますが、継承については何も述べていません...継承はSQLの重要なことではありませんか?相続について何も持っていないのはちょっと変だ……。

0 投票する
1 に答える
655 参照

.net - EntityFrameworkモデルの最初のナビゲーションプロパティの規則

既存のデータベースから「リバースエンジニアリング」されたedmxファイルでModel-FirstEntityFrameworkを使用しています。

ほとんどの場合、エンティティとナビゲーションプロパティは私の規則に基づいて自動的に検出されていますが、いくつかのナビゲーションプロパティが欠落しています。たとえば、次のようになります。

現時点Works.EditorUserIDでは、への外部キーですが、EntityFrameworkは生成されたオブジェクトにナビゲーションプロパティをUsers.UserID自動的に含めません。Editor

これを可能にする、データベースで使用できるより良い命名規則はありますか?

ありがとう

更新: ナビゲーションプロパティが実際に作成されていることに気づきましたが、その名前はあまり役に立ちません。User代わりにという名前のナビゲーションプロパティを作成していますEditor

0 投票する
1 に答える
792 参照

entity-framework - Entity Framework がデータベースからモデルを生成するには、どのようなアクセス許可が必要ですか?

サードパーティの SQL Anywhere インスタンスに接続していますが、既存のデータベースからエンティティ データ モデルを生成する際に問題が発生しています。接続は基本的な ODBC 接続で機能していますが、モデルを生成するときに「アクセス許可が拒否されました: "sysuserperm" から選択する権限がありません」というエラーが表示されます。このアカウントでモデルを生成できますか?

完全なエラー メッセージは次のとおりです。ここに画像の説明を入力

0 投票する
1 に答える
1409 参照

entity-framework - ナビゲーション プロパティをオフにする

VS 2012、Entity Framework 5、SQL Server Express 2012 を使用。

を使用してアプリケーションにサービスを提供する SQL Server データベースがありますWeb API。主にモバイル端末で使用するため、データ転送を最小限に抑えたいので、Navigation Properties を無効にしたいと考えています。ProxyCreationEnabledとを false に設定しLazyLoadingEnabledました。これは、関連するデータがシリアル化されないことを意味します。これは非常に役立ちますが、への呼び出しで返されるデータには空の配列として表示されます。つまり、呼び出しWeb APIで何らかの方法で処理する必要があります。 AJAX.

それらを完全にオフにする方法はありますか?

0 投票する
1 に答える
308 参照

.net - Database First モデルを使用した Entity Framework

データ注釈を使用して EF 4.1 を使用して ASP.NET MVC で開発しています。クライアント側の検証は期待どおりに機能しています。しかし、私はこの疑問を持っています。たとえば、必須フィールド (例: 製品名) がクライアントからサーバーに null になり、エンティティ モデルが例外をスローしている場合などです。この場合、どうすればよいですか?

いくつかの追加情報は、私はWCFサービスレイヤーを介してEFを消費するということです

0 投票する
1 に答える
573 参照

entity-framework - EFdbが最初でキーのないテーブル

私は最初にEntityFrameworkDBを使用して、巨大なデータベースのレポートWebサイトのラピッドプロトタイピングを実行しようとしています。問題は、テーブルの1つにキーがないことです。「エラー159:EntityTypeにキーが定義されていません」というメッセージが表示されました。モデルデザイナにキーを追加すると、「エラー3024:すべてのキープロパティのマッピングを指定する必要があります」というメッセージが表示されます。私の質問は、テーブルにキーを追加せずにこれを回避する方法があるかどうかです。テーブルは私たちの管理下にありません。