問題タブ [code-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 に答える
78254 参照

entity-framework - Entity Framework Code First の SQL Server Express 接続文字列

私は Visual Web Developer 2010 Express で作業しており、Entity Framework コード ファースト CTP を使用しています。新しい SQL Server CE でこれを実行できますが、SQL Server Express で動作する接続文字列が見つかりません。

これは、SQL Server CE ベータ版を使用しており、正常に動作します (データベースが作成され、モデルの変更時に再作成されます)。

これは、aspnetdb接続文字列からコピーしたものです。

起動時に次のメッセージが表示されます。

操作を完了できません。提供された SqlConnection は初期カタログを指定していません

では、SQL Server Express で動作させるにはどうすればよいでしょうか?

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

entity-framework-4 - サーバーの状態に依存するWCFデータサービスオブジェクトのプロパティをどのように作成しますか?

POCOのように見えるオブジェクトを返すWCFデータサービスを作成しようとしています。クエリが呼び出されたときに計算される単一のプロパティがある限り、これらは異なります。

言い換えれば、私はPOCOフィルムを持っていると言います。プロパティ「IsAllowedToWatch」が追加されたFilmsを取得できるFilmsをクエリできるようにしたいと思います。'IsAllowedToWatch'の値は、認証状態とその映画を現在視聴しているユーザーの数によって決まります。

Code-FirstEF4およびWCFDataServicesを使用しています。誰かがこれを行うための最良の方法を提案できますか?

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

sql - FOREIGN KEY制約を導入すると、サイクルまたは複数のカスケードパスが発生する可能性がありますか?

Entity Framework Code Firstからデータベースを生成すると、このエラーが発生します。

スクリプトに問題はありませんでした。

それぞれの参照は異なるテーブルへの参照です!

テーブルごとに削除カスケードを1つだけ持つことができますか?

ユーザー、投稿、投票の3つのテーブルがある場合。

そして関係:

Post.AuthorId-> User.Id Votes.PostId-> Post.Id Votes.UserId-> User.Id

投稿を削除すると、投票へのパスが2つあるため、SQLは正しくエラーを生成します。ユーザー->投票とユーザー->投稿->投票

しかし、エンティティフレームワークはこれを検出せず、削除カスケードで3つの外部キーを生成します。

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

entity-framework-4 - Entity Framework Code First で複合キーを指定する方法

とNorthwind データベースでの と の[Order Details][Products]のマッピングの設定について簡単な質問があります。[Orders]

[Order Details]主キーはなく、次のようになります

OrderDetailsだから私の質問は、このように動作するようにクラスを設定するにはどうすればよいですか (そして、できますか?)

私のデータコンテキストは次のようになります

And My OrderDetailsConfiguration(何をしているのか分からないので空)

ヒントやアイデアは素晴らしいでしょう。

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

asp.net-mvc-2 - SQLCE.EntityFramework 4.0.8435.1 のデプロイ

私が取り組んできたプロジェクトで SQLCE を適用しました。Visual Studio では正常に動作し、ローカル (http://localhost:####) で実行すると完全に動作します。しかし、リモート ホストで公開すると、「Yellow Screen of Death」という次のエラー メッセージが表示されます。

登録された .Net Framework Data Provider の検索または読み込みに失敗しました。

私の Web.Config と参照は問題ありません (localhost で正常に動作すると述べたように)、変更する必要はありません。sdf ファイルが正しいパスに展開されます。

何が欠けている?

0 投票する
4 に答える
31382 参照

entity-framework - Entity Framework Code First - DbContext に Detach() メソッドがない

ObjectContext の場合のように、DbContext オブジェクトに Detach メソッドがないのはなぜだろうか。この省略は意図的なものだとしか思えませんが、その理由を理解するのに苦労しています。エンティティをデタッチして再アタッチできるようにする必要があります (たとえば、ASP.NET プロジェクトのキャッシュに入れるため)。ただし、エンティティをデタッチできないため、以前のコンテキストに関連付けられていたエンティティをアタッチしようとすると、「IEntityChangeTracker の複数のインスタンスでエンティティ オブジェクトを参照できません」という例外が発生します。

ここでのガイダンスは何ですか?何か不足していますか?

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

c# - エンティティフレームワークコード最初の多対多重複行の作成

私の問題は、2つのコンテキストがあることが判明しました。コードを少し作り直して、コンテキストが1つだけになるようにしたところ、問題は解決しました。

それ自体がContactOptionを持つUserContactのリストを持つユーザーがいます。かなり単純な1対多、多数対1で、中央にUserContactテーブルがあります。

ユーザーをデータベースからプルして新しいUserContactを作成し、ContactOptionを既存のアイテム(データベースからプルしたもの)に設定した場合、SaveChangesを実行すると、エンティティフレームワークはデータベースに新しいContactOptionを作成します。基本的に、UserContactに追加したものの複製です(新しいIDを取得することを除いて)。

私はこれと数時間戦いましたが、これを理解することはできません。何か案は?

データベースクエリにリポジトリパターンを使用していますが、それらが同じコンテキストを共有していることを確認しました。

私はこれでデータベースからユーザーを引き出します:

そして、連絡先オプションは次のように引き出されます。

そして、次のようにContactOptionをUserContactに追加します。

私のモデルは次のようになります。

0 投票する
3 に答える
1377 参照

entity-framework - Entity Framework 既存のアイテムを追加するとクローンが発生する

小さなプロジェクトに Entity Framework v4 を使用しています。通常、NHibernate を使用します。私の問題は、DB コンテキストのコレクションに既に永続化されているオブジェクトを誤って追加したコードがあり、SaveChanges() を実行すると、EF がオブジェクトのコピーを作成し、新しい主キーを与えたことです。

これは便利ですが、私が望んでいたものではありません。その機能をオフにして、代わりに例外をスローする方法はありますか?

更新: コードが含まれるようになりました

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

database-design - CTP4 Code First を使用した EF4 の TPH 識別子としての外部キー

私のモデルを要約するには:

  • ライセンスと証明書は資格の子です
  • Qualification には 1 つだけの専門職があります
  • 職業は、認可された種類 (タイプ 1) または認定された種類 (タイプ 2) のいずれかです。

要件: データベース スキーマに冗長性を導入することなく、ビジネス エンティティ間の関係を表現します。資格の種類 (ライセンス/証明書) は、職業の種類と一致する必要があります。

これが現在の私の簡略化されたモデルです。これが機能しない理由を以下で説明します。

簡略化した ModelBuilder は次のとおりです。

これが機能しない理由は、EF4がFK プロパティを TPH 識別子として兼用することを許可していないためです。これは、Type を識別子と外部キー フィールドの両方にすることはできないことを意味します。各エンティティの HasConstraint メソッドで職業タイプをハードコーディングしようとしても機能しません。これにより、例外が生成されます。

可能な解決策は、Profession に代理キーを追加し、Qualification の Type プロパティを取り除き、ProfessionId FK に置き換えることです。これにより、冗長性の懸念が取り除かれますが、TPH も破壊されます。実際には、弁別子は資格から専門職に移動します。ここでの問題は、License オブジェクトと Certificate オブジェクトをマップする方法がわからなかったことです。代わりにビューにマップできますか?しかし、Code First でそれを行うにはどうすればよいでしょうか。

ですから、今、私は多くの好ましくない選択に直面しています。助言がありますか?

0 投票する
3 に答える
29411 参照

entity-framework - DbContext DbSet が null なのはなぜですか?

新しい Entity Frameworks Code First アプリを作成しましたが、DbSet (People) が null を返しています。

web.config : 接続文字列

今私が電話するとき

_repo.Peoplenullになります

私は何が欠けていますか?

  • Microsoft.Data.Entity.Ctp.dll が参照されています
  • データベース初期化子の有無にかかわらず試しました。