問題タブ [datacontext]

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 投票する
5 に答える
5609 参照

asp.net - 複数のDataContextクラスは適切ですか?

ASP.net 3.5アプリケーションでLinqToSqlを完全に使用するには、DataContext クラスを作成する必要があります(これは通常、VS 2008のデザイナーを使用して行われます)。UIの観点からは、DataContextは、LinqToSqlを介して公開するデータベースのセクションの設計であり、LinqToSqlのORM機能のセットアップに不可欠です。

私の質問は、すべてのテーブルが外部キーを介して何らかの方法で相互接続されている大規模なデータベースを使用するプロジェクトを設定していることです。私の最初の傾向は、データベース全体をモデル化する1つの巨大なDataContextクラスを作成することです。そうすれば、理論的には(実際にこれが必要かどうかはわかりませんが)、LinqToSqlを介して生成された外部キー接続を使用して、コード内の関連オブジェクト間を簡単に移動したり、関連オブジェクトを挿入したりできます。

ただし、少し考えてみたところ、データベース内の特定の名前空間または論理的に相互に関連するセクションにそれぞれ関連する複数のDataContextクラスを作成する方が理にかなっていると考えています。私の主な懸念は、データベースの特定の領域に関連する個々の操作のために1つの巨大なDataContextクラスを常にインスタンス化して破棄すると、アプリケーションリソースに不要な負荷がかかることです。さらに、1つの大きなファイルよりも小さなDataContextファイルを作成および管理する方が簡単です。私が失うことは、LinqToSqlを介してナビゲートできないデータベースのいくつかの離れたセクションがあることです(関係のチェーンが実際のデータベースでそれらを接続している場合でも)。さらに、複数のDataContextに存在するテーブルクラスがいくつかあります。

1つの非常に大きなDataContextクラス(DB全体に対応)の代わりに(またはそれに加えて)複数のDataContext(DB名前空間に対応)が適切かどうかについての考えや経験はありますか?

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

sql-server - LINQ から SQL への結果セットのバイト単位のサイズを決定する方法

手動の SQL を記述する場合、クエリによって返されるデータのサイズと形状を簡単に見積もることができます。LINQ to SQL クエリでこれを行うのがますます難しくなっています。ときどき、予想よりもはるかに多くのデータを見つけることがあります。これにより、データベースに直接アクセスしているリモート クライアントの速度が大幅に低下する可能性があります。

クエリを実行して、ネットワーク経由で返されたデータの量を正確に把握し、これを使用して最適化できるようにしたいと考えています。

私はすでに DataContext.Log メソッドを使用してログを接続していますが、それは受信したデータではなく、送信された SQL を示すだけです。

任意のヒント?

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

asp.net-mvc - Asp.net Mvc With linq2sql リポジトリにキャッシュ戦略を実装するにはどうすればよいですか?

httpcontext キャッシングと Enterprise Library Caching Application Block のどちらを使用すべきかわかりません。また、キャッシュされたリストの一部であるエンティティを削除または更新するときのキャッシュ戦略の最適なパターンは何ですか?

キャッシュからすべてのリストを削除するか、キャッシュされたリストから項目のみを削除する必要がありますか? 更新すると、キャッシュからリストを削除するか、その中のエンティティを更新します。

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

sql - LINQ to SQL 複数の DataContext-s

私は、DataContext を整理する方法について最善の戦略を見つけようとしています。私たちが扱っている典型的な DB には、通常は 50 から 100 のテーブルがあり、通常は第 3 正規形であり、それらの間に多くの関係があります。次の 2 つのオプションがあると思います。

  1. すべてのテーブルを単一のコンテキストに配置します。これにより、私たちが行うことはすべて、データベースで正しい順序でコミットされます。問題は、LINQ デザイナーが 50 以上のテーブルで混乱することであり、パフォーマンスが影響を受けるのではないかと心配しています。
  2. テーブルの論理グループに基づいて、いくつかのデータ コンテキストを作成します。問題は、関係の一方が一方のコンテキストにあり、もう一方が別のコンテキストにある場所があることです。両方のコンテキストを正しい順序で手動でコミットする必要があります。

これを処理するための推奨される方法はありますか?

詳細:

LINQ to SQL の上に独自のエンティティと作業単位を作成したいと考えています。エンティティは、LINQ エンティティへのマッピングも指定される xml モデル ファイルで定義されます。カスタム ツールは、モデルに基づいてエンティティ (POCO) を生成します。クライアント コードは、エンティティと作業単位のみと対話します。DataContext または LINQ エンティティを直接使用しないでください。ただし、LINQ to SQL がすぐに提供するものを複製したくないので、基礎となる LINQ DataContext を使用したいと考えています。これは、異なるデータ コンテキストで 2 つの注文を持つことができないことを意味します。POCO 注文を両方にマップすることはできないからです。

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

asp.net-mvc - dbml を保存した後、MVC で Linq DataContext クラスにアクセスできない

MVC をダウンロードしたばかりで、チュートリアルを進めています。DataContext オブジェクトを宣言しようとするまで、すべてうまくいきます。

私のdbmlはdb.dbmlという名前で( test.dbmlという名前で別のものを試しました)、これを試すと:

私は得る:

タイプまたはネームスペース名「dbDataContext」が見つかりませんでした...

何か不足していますか?Webフォームではこれだけで済み、チュートリアルではこれだけです。今日、最新の MVC をダウンロードしました...

ありがとうございました。

**編集:VS2008 SP1を使用しています

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

linq-to-sql - LinkDataSource は DataContext を読み込めません

VS 2008 を使用して Web ページにドロップダウン リスト コントロールを設定しようとしていますが、DataContext を読み込めないというエラーが発生し続けます。私のバックエンドは SQLx サーバー 2005 DB です。Link To SQL データ コンテキストを作成し、その中に 1 つのテーブルを作成しました。私のLinKDataSourceは次のとおりです- asp:LinqDataSource ID="LinqDataSource1" runat="server"ContextTypeName="DACDataContext" TableName="portfolio"> /asp:LinqDataSource

私のドロップダウンの定義は次のとおりです。 ContextTypeName が DACDataContext である私の DatContext

私が得る特定のエラーは次のとおりです。

InvalidOperationException: LinqDataSource 'LinqDataSource1' の ContextTypeName プロパティで指定された型が見つかりませんでした。]

私はこれが本当にばかげたことに違いないことを知っていますが、私は頭がおかしいです。

助けてください。

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

.net - オブジェクトの DataContext を取得する

LINQ オブジェクトがある場合:

およびアプリケーションの他の場所:

「顧客」オブジェクトの変更を追跡する DataContext のインスタンスを取得するにはどうすればよいですか?

編集: DataContext をメソッドに渡したくない理由。

1)1つではなく常に2つのオブジェクトを渡すことは、アプリケーション全体にとって「醜い」パターンです。

  • メソッドには、ビジネス オブジェクトごとに次のパラメータが必要です。
  • コレクションは「List」から「List>」に変更する必要があります。

どちらの点も維持するのがより難しくなります - 開発者は、具体的なオブジェクトが別の DataContext に接続されている (または接続されていない) ことを DataContext が認識しているにもかかわらず、DataContext の正しいインスタンスを毎回設定する必要があります (バグを作成しやすい)。

2)私は(アプリケーションの現在のバージョンがそれを使用して)異なる「場所」から来たオブジェクトのコレクションで「任意の」ビジネスロジックを処理したい(たとえば、ドラッグアンドドロップによるフローティングウィンドウ)。

現在、カスタムの型指定された DataSet を使用しているため、変更に関する情報はデータ行 (DataRow = ビジネス オブジェクト) にあり、それを取得したり、クローンを作成してデータベースに保存したりすることは問題ありませんでした。

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

linq-to-sql - Linq-to-sql DataContext の一連の基本パラメーターを指定できますか?

製品と価格の親子関係を表す LINQ-to-SQL DataContext があります。製品のリストを繰り返し処理し、それぞれの価格を取得しています。問題は、製品と価格の両方の背後にあるテーブルに、3 つのフィールドの複雑なキーによって決定される、複数の環境の製品または価格のリストが含まれていることです。これらの環境の 1 つのみの製品と価格を取得したいと考えています。

プロダクト キーと複雑な環境キーで構成される各 LINQ クエリで、次のような長い where 句を指定することで、これを行うことができます。

私ができるようにしたいのは、DataContext に対してクライアント、SalesOrg、および DistributionChannel をグローバルに指定して、クエリ自体で指定する必要があるのは製品 ID (MaterialNumber) だけであることです。そうすれば、本番環境のクエリを開始するときに、DataContext を変更するだけで、クエリ対象の環境が変更されます。

これは可能ですか?簡単なコード サンプルまたは背景理論へのポインタのいずれかが素晴らしいでしょう!

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

wpf - Silverlight DataBinding エラー - WPF でも動作します!

新しい Silverlight アプリケーションを開始し、コード ビハインド ("Loaded" イベント内) に次のコードを挿入します。

しかし...

発生するエラーは、「値が期待される範囲内にありません」です。ところで、このコードは通常の WPF (Windows 開発) で 100% 動作し、WPF/E で動作しない理由はないはずです :)

何かご意見は?

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

.net - Linq to Sql クエリのソース DataContext を決定する

私のアプリケーションには、異なるスキーマを持つ異なるデータベースに接続するいくつかの DataContexts があります。カスタム ユーザー コントロールでは、クエリの結果を表示し、ユーザーがそれらを編集できるようにします。ユーザーがデータを編集するときに、データベースへの変更を保持したいと考えています。そのためには、ソース DataContext (または少なくともソース datacontext タイプ) への参照が必要です。DataContext.SubmitChanges();

クエリがどの DataContext から来ているかを判断する方法はありますか? DataQuery クラス自体は内部としてマークされているため、醜いリフレクション ハックに頼らないとそのコンテキスト プロパティにアクセスできないため、よりクリーンなアプローチを探しています。

たとえば、ソース DataContext への参照を渡すことで、この問題を回避する (いくつかの) 方法がありますが、これを行うにはもっと簡単な方法が必要だと思います。

編集:次のコードは機能しますが、醜いです: