問題タブ [objectcontext]
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.
.net - 既存の SqlConnection を複数の ObjectContext に渡す方法
関数に SqlConnection を渡しています。各関数で複数のオブジェクト コンテキストが作成されます。分散トランザクション サービスをオンにすることなく、単一のトランザクション スコープで使用できるように、すべてのオブジェクト コンテキストに渡した単一の SqlConnection を使用したいと考えています。
サンプルコードは次のとおりです。
.net - EntityConnection は、閉じた DbConnection でのみ構築できます
「EntityConnection は、閉じた DbConnection でのみ構築できます」これは、開いた接続を提供する entityconnection を構築しようとしたときに発生する問題です。transactionscope が開いていて、新しい接続を開きたくない場合、または複数の entityConnections で単一の SqlConnection を使用する場合、DTC は必要ないことを理解しているため、トランザクションは dtc トランザクションに昇格されます。
したがって、私のコードはおおよそ次のようになります。
前もって感謝します...
entity-framework - ObjectContextに相当するGetTable
以前は、テーブルを一般的に取得するためにGetTable(type)メソッドを持つDataContextを使用していました。例:
最近、私のチームはEntityFrameworkでObjectContextを使用するように切り替えることにしました。特定のタイプを指定せずに、DataContexts GetTableメソッドと同様のエンティティ名でテーブルを取得する方法はありますか?ジェネリックである必要があります。
entity-framework - Entity Framework ObjectContext を作成するには?
1 つの SQL サーバーに多数の DB があります。connectionString をテンプレート (参照Initial Catalog={0}
) として web.config に配置しました。
<add name="ent" connectionString="metadata=res://*/ent.csdl|res://*/ent.ssdl|res://*/ent.msl;provider=System.Data.SqlClient;provider connection string="Data Source=1.1.1.1;Initial Catalog={0};Persist Security Info=True;User ID=user;Password=pass;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
正しいconnectionStringでobjectContextを作成したい。私は次のように考えましたが、CreatObjectContext<SiteEntities>('MySite')
エラーが発生しますUnable to determine the provider name for connection of type 'System.Data.EntityClient.EntityConnection'
。
私が間違っていることは何ですか?コンテキストを作成するにはどうすればよいですか?
entity-framework - ObjectContextは、オブジェクトを切り離された状態から更新します
updateメソッドを持つObjectContextがあります。このメソッドは、ジェネリックオブジェクトをパラメーターとして受け取ります。このオブジェクトをObjectContextにアタッチし、オブジェクトに加えられた変更でデータベースを更新する必要があります。たとえば、データベース内のエンティティと同じキーを持つ新しいオブジェクトを作成しましたが、一部のフィールドが異なります。オブジェクトをデータベース内の対応するエンティティにアタッチし、新しいオブジェクトの変更を保存してもらいたい。これが私がUpdateメソッドに持っているものです:
更新後、データはデータベースのフィールドによって上書きされます。更新を省略しても、データベースレコードは更新されません。私は一歩を逃していますか?
entity-framework - 依存オブジェクトの Object コンテキストを持つ TransactionScope
私は MVC3 アプリケーションに取り組んでおり、Oracle データベース (11G R2) にリンクされた Entity Framework を使用しています。内で単一のオブジェクト コンテキストを使用しようとすると、問題が発生しますTransactionScope
。
コードは次のとおりです。
コードを説明しましょう...
まずentity1
、T_RIGRIGHT
要素と呼ばれるエンティティを作成します。T_RIPRIGHTPROFILE
以前に作成した T_RIGRIGHT 要素の ID を使用する要素をインスタンス化します。
実行は 2 番目に失敗しcontext.SaveChanges()
、例外はテーブルの外部キー制約に関するものですT_RIPRIGHTPROFILE
( が必要T_RIGRIGHT
です)。
私の説明が十分に明確であることを願っています
それを機能させる方法はありますか?
PS : 英語は私の母国語ではないため、申し訳ありません。
entity-framework - 常にコンテキストに接続されているエンティティ フレームワーク エンティティ
私がこれを持っている場合:
mycountry.States.FirstOrDefault().Name
States 参照で熱心な読み込みや遅延読み込みを行っていないのに、アクセスできるのはなぜですか?
コンテキストは常にエンティティに接続されたままですか?
c# - エンティティ オブジェクトは、IEntityChangeTracker の複数のインスタンスによって参照できません
nopcommerce 1.9 で問題が発生しました。本当に助けが必要です。
私が行っている作業は、製品インポーターを既存の機能に追加することです。
iisreset 後の最初の実行では、インポーターは正常に動作します。ただし、2 回目以降のインスタンスでは、上記のエラーが発生します。これは、次のコード IoC.Resolve().UpdateProduct(product) を実行すると常に発生するようです。これが呼び出すコードは次のとおりです。
私はこの種のテクノロジ (ObjectContexts) についてあまり経験がないので、完全なソリューションを提供できれば非常にありがたいです。インターネット上でこのエラーの例をたくさん見てきましたが、機能する/意味のある解決策は見つかりませんでした。私が読んだことによると、明らかに起こっていることは、製品が 2 つの異なる ObjectContext に接続されているということです。これがここで起こっていることだと思いますが、どこで/なぜなのかを知るには、テクノロジーについて十分に知りません. 次回実行時に同じオブジェクトを再アタッチしないように、SaveChanges の後にデタッチしようとしましたが、期待どおりの解決策ではありませんでした...
どうもありがとう、エイドリアン。
winforms - Entity Framework - オブジェクトのリストをデタッチするとクラッシュする
私はEF 4.0でwinformアプリケーションに取り組んでいます。
以下のコードは、「ObjectStateManager にアタッチされていないため、オブジェクトをデタッチできません」という問題でクラッシュします。リストをコンテキストから切り離そうとしたとき。
驚いたことに、コメント付きのコードで行ったように、リストからオブジェクトを 1 つだけ切り離すと、問題なく動作します。
リストを切り離そうとするとなぜクラッシュするのか、誰か教えてもらえますか? また、リストのすべてのオブジェクトを切り離すにはどうすればよいでしょうか?
entity-framework - EntityFramework 共有 dbcontext を確実にクエリできません
複数のリポジトリ間で 4 つの DbSet を持つ単純な DbContext を共有しようとしています。各リポジトリはこの基本クラスから継承しています
質問: これはリポジトリ間の接続を共有する適切な方法ですか?
さまざまなリポジトリにアクセスすると、単体テストで断続的なエラーが発生します。リポジトリ メソッド GetEntityByName から例外がスローされる
テスト メソッド Tests.Service.TestDelete が例外をスローしました: System.ObjectDisposedException: ObjectContext インスタンスが破棄されたため、接続を必要とする操作には使用できなくなりました。
データベースが既に存在する場合、コードは期待どおりに実行されます。GetEntityByName(string name) の実装を次の非パフォーマンス コードに変更した場合にも機能します
質問: ここで何が起こっているのですか?
テストを実行したときにデータベースが存在する場合、エラーはまったく発生しないことに注意してください。
ティア、jt