問題タブ [entity-framework-4]
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.
silverlight - Entity Framework 4stedelete外部キー関係
EF4とSTEw/Silverlightを使用しています。
プライマリエンティティから子レコードを削除できません。何らかの理由で、プライマリエンティティへの外部キーがプライマリキーの一部である場合、子エンティティを削除できます。
しかし、そうでない場合、それらは削除されません。
私はこれらの投稿がそれを説明していると信じています:http: //mocella.blogspot.com/2010/01/entity-framework-v4-object-graph.html
http://blogs.msdn.com/dsimmons/archive/2010/01/31/deleting-foreign-key-relationships-in-ef4.aspx
私の質問は、DeleteObject()関数にアクセスできないSilverlightで、外部キーが主キーの一部ではない子レコードを削除するにはどうすればよいですか?
entity-framework - Entity Framework 4 / POCO - どこから始めればよいですか?
私はしばらくの間プログラミングをしており、以前に LINQ-To-SQL と LINQ-To-Entities を使用したことがあります (ただし、エンティティを使用する場合は、エンティティ/表 1-1 の関係にありました。つまり、L2SQL と大差ありません)。
私は、制御の反転、作業単位、POCO、およびリポジトリ パターンについて多くのことを読んできましたが、この方法論を新しいアプリケーションで使用したいと考えています。
私が苦労しているのは、EF1 の知識を前提としない EF4 の明確で簡潔な初心者向けガイドを見つけることです。
回答が必要な具体的な質問は次のとおりです。
コードファースト/モデルファースト? EF4 に関する長所/短所 (つまり、最初にコードを作成し、後日コードを変更し、DB モデルを再生成する必要がある場合はどうなりますか? データは保持され、変換または削除されますか?)
私がコードファーストであると仮定すると (EF4 がそれを DB スキーマに変換する方法を知りたいのですが)、実際にどのように開始すればよいでしょうか? 「これが私のエンティティ モデルです。これからは…」というエンティティ図の記事をよく目にします。残念ながら、デザイナーでモデルを作成して、コードを生成し、それ以上の自動コード生成を停止しました - または - 彼らは (POCO) をコーディングしましたか? クラスとどういうわけかそれらをデザイナービューにインポートしましたか?
私が本当に必要としているのは、「魔法」がどこから来て、DB から直接 EF モデルを生成するだけではない場合に自分で追加する方法を理解することだと思います。
質問が少し曖昧であることは承知していますが、何がわからないのかわかりません-入力/修正/説明をいただければ幸いです。
言うまでもなく、誰かがここに座って私に EF を教えてくれるとは思っていません。良いチュートリアル/フォーラム/ブログ/その他が欲しいだけです。完全なエンティティ初心者向け
wcf - EDM -> POCO -> WCF (.NET4) ただし、コレクションを転送すると IsReadOnly が TRUE に設定されます
わかりました、これは少し「非正統的」に聞こえるかもしれませんが、VS2010 と Entity Framework の新しい POCO t4 テンプレート (ウォークスルー: Entity Framework の POCO テンプレート) を使用すると、素敵な POCO を生成できます。次に、これらの POCO を (DTO として) WCF サービスで使用し、本質的に EDM からクライアントに至るまでのすべての方法を使用できます。すべてが自動的に生成されることを除いて、この人が何をしているのか(EF 4.0およびWCF 4.0を使用したPOCO )。エンティティと DTO は「異なる必要がある」ことは理解していますが、この場合、クライアントとサーバーを処理しているため、DTO をモデルに含めて自動的に生成することにはいくつかの利点があります。
私の問題は、関係を持つエンティティを転送すると、クライアントが生成したコレクション (ICollection) に読み取り専用の値が設定されているため、その関係を操作できないことです。たとえば、既存の Order を取得すると、製品をクライアント側の Products コレクションに追加できません。Products コレクションは読み取り専用です。
私は、何十回ものサーバー ラウンド トリップ (AddProductToOrder(product) など) を行うよりも、クライアント側で一連の「注文編集」を行い、更新された注文を返送することを好みます。また、Entity と DTO の間で大量のサンクが発生しないようにしたいと考えています。全体として、これは私には良さそうです...読み取り専用部分を除いて。
解決策はありますか?それとも、これは SOA グレインに反しすぎていますか?
.net - ObjectContext.SaveChanges() が SQL CE で失敗する
SQL CE をデータ ストアとして使用するモデル優先の Entity Framework 4 アプリを作成しています。ObjectContext.SaveChanges()
モデル内のエンティティへの変更を保存するために呼び出すまでは、すべて問題ありません。その時点で、SaveChanges()は System.Data.UpdateException をスローし、内部例外メッセージは次のようになります。
サーバーで生成されたキーとサーバーで生成された値は、SQL Server Compact ではサポートされていません。
私はこのメッセージに完全に困惑しています。何が起こっているのか、それを修正する方法はありますか? ありがとう。
例外ダンプは次のとおりです。
entity-framework - エンティティキーの生成
Entity Framework 4に最初の失望感を覚えました。SQLCEをEF4で使用すると、自動生成された主キーがサポートされないことがわかりました。OnjectContext.SaveChanges()からSystem.Data.UpdateExceptionが発生し、次のメッセージが表示されます。
サーバーで生成されたキーとサーバーで生成された値は、SQLServerCompactではサポートされていません。
そのため、エンティティのキーを手動で生成する必要があります。自動インクリメントされた整数キーを使用したい場合、Entity Frameworkを使用するときにキーを生成して追跡するための最良の方法は何ですか?ご協力いただきありがとうございます。
entity-framework - SQL Compact/EF4 での GUID または int エンティティ キー?
これは、 SQL Compact を使用した EF4 エンティティ キーについて投稿した以前の質問のフォローアップです。SQL Compact ではサーバー生成の ID キーが許可されていないため、ObjectContext
. 私の最初の選択は整数キーであり、以前の回答は、次の使用可能なキーを見つけるためにセレクター式で演算子を使用する拡張メソッドを示すブログ投稿にリンクされています。Max
拡張メソッドに関する私の見解は次のとおりですObjectContext
。私が作業している にフィルター処理されていないエンティティ セットがある場合、正常に機能します。その場合、 にObjectContext
はデータ テーブルのすべての行が含まれ、正確な結果が得られます。ただし、エンティティ セットがクエリ フィルターの結果である場合、メソッドはフィルター処理されたエンティティ セットの最後のエンティティ キーを返しますが、これは必ずしもデータ テーブルの最後のキーであるとは限りません。したがって、拡張メソッドは実際には機能しないと思います。
この時点で、エンティティ キーとして GUID を単純に使用することが明らかな解決策のようです。Guid.NewGuid()
そうすれば、新しいエンティティを my に追加する前に、メソッドを呼び出して ID プロパティを設定するだけで済みますObjectContext
。
これが私の質問です: EF4 からデータ ストアの最後の主キーを取得する簡単な方法はありますObjectContext
か (その目的で 2 番目の主キーを作成する必要はありません)。簡単な方法をとらず、単純に GUID を使用する理由は他にありますか? ご協力いただきありがとうございます。
asp.net-mvc - EF 4 で変更されたすべてのデータを更新するための最良の方法は何ですか?
次のコードのように、変更された Data オブジェクト (このオブジェクトは ASP.NET MVC によって生成されます) から古い Data オブジェクト (このオブジェクトは DBMS の現在のデータから取得されます) に変更されたデータを更新できるメソッドを作成しようとしました。
次のソースコードのように、他の変更されていないデータに影響を与えずに、変更されたデータを保存する方法を作成しようとしています。
上記の方法は、データを更新するための非常に醜い方法であるため、よくわかりません。最近のバグから、Navigation Properties (他のテーブルの関連データ) などのプロパティを更新すると、現在のレコードがデータベースから削除されることがわかりました。なぜそれが起こったのか分かりません。しかし、それは私にとって非常に危険です。
では、ASP.NET MVC からのデータの更新について私に保証するために、この質問について何か考えはありますか?
ありがとう、
entity-framework - 非追跡自己追跡エンティティを処理する適切な方法は何ですか?
セルフ トラッキング エンティティ。素晴らしい。
あなたが何かをするときを除いて
自己追跡エンティティは追跡されません (おそらく逆シリアル化されるまで)。
罰金。したがって、私たちに戻ってきたエンティティが追跡を有効にしていない可能性があることを認識する必要があります。
それで???
私が試したこと
指定されたメソッド本体の場合:
次の実装はFigureItOut
すべて失敗します。
または
または
または
また、私がそれに投げかけることができると考えることができる他のことについても、
- データベースから元のエンティティを取得する
- 各プロパティを手で比較する
- 必要に応じてプロパティを更新する
正確には、自分自身を追跡していない自己追跡エンティティをどうすればよいのでしょうか??
小さな更新:
エンティティを変更済みとして盲目的にマークすることはできますが、これは少し臭いようです。この場合、私たちができる最善のことですか?
.net - .NET3.5SP1でのEF4の使用
Visual Studio 2010RCで最新のEF4ビットを使用していて、それが大好きになりました。ただし、作業には.NET 3.5 SP1(VS 2008)を使用して小さなWebアプリケーションを開発する必要があります... .NET 3.5 SP1 /VS2008でEF4を何らかの方法で利用できるかどうか疑問に思いました。
よろしく。
entity-framework - 挿入の問題
この問題のせいで私はとてもイライラしています、あなたにはわかりません...
PostとCommentの2 つのクラスがあります。EF 4 POCO サポートを使用しています。.edmx モデルに外部キー列がありません (コメント クラスにはPostID プロパティはありませんが、Post プロパティがあります) 。
以下のコードが機能しない理由を誰か教えてもらえますか? 投稿の新しいコメントを作成したい:
例外は次のとおりです。
値 NULL を列 'PostID'、テーブル 'Blog.Comments' に挿入できません。列はヌルを許可しません。INSERT は失敗します。
... この 'PostID' 列はもちろん Posts テーブルへの外部キーです。
どんな助けでも大歓迎です!