問題タブ [linq.compiledquery]
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 - クエリを並行して実行すると、「基になるプロバイダーがオープンに失敗しました」がスローされます。エラー
常にではありませんが、「基になるプロバイダーを開くことができませんでした」というエラーが発生することがあります。
これは私の状況です:
コンパイルされた選択クエリでパラメータとして使用するために並行して処理する整数キーのリストがあります。これをRIAドメインサービスで使用します。
コンパイルされたクエリは次のようになります。
EF4、RIA(実際にはドメインサービスのObjectContextがコンパイルされたクエリメソッドに渡されます)を使用しています。接続文字列には有名なMultipleActiveResultSets = Trueが含まれています...MultipleActiveResultSetsがfalseに設定されていると、すぐにエラーが発生します。
ここで使用されているコードは、実際のコードを簡略化したものです。また、より多くのキーを渡すため、より多くの並列クエリが渡されます。内部例外で、データリーダーが閉じられているのに、ステータスが接続されていることがあります。
接続プールのサイズを拡大しようとしましたが、成功せずに。
この問題を解決するための良い提案はありますか?事前にThx。
biztalk - Biztalk で使用される静的メソッドでコンパイルされたクエリ
静的クラスで静的メソッドを呼び出すオーケストレーションがあります。Linq クエリを何度も実行する必要がある場合は、コンパイル済みクエリにすることをお勧めします。そして、私のオーケストレーションは何度も生成されます。
しかし、コンパイルされたクエリにすることで何かを獲得できるかどうかはわかりません。
各オーケストレーションはクエリをコンパイルする必要がありますか、それとも共有されますか?
linq-to-sql - Linq to SQL では、コンパイルされたクエリが再コンパイルされないようにするにはどうすればよいですか?
コンパイル済みクエリを使用しています。予想どおり、最初のコンパイルには余分な時間がかかりますが、約 30 分間呼び出されなかった後に再コンパイルされることにも気付きました。
クエリを再コンパイルするタイミングを制御したり、再コンパイルを完全に防止したりすることはできますか?
参考までに: 私が気付いたパフォーマンスの違いの例として、私のクエリの 1 つが、コンパイルされたときは 10 秒未満であるのに対し、コンパイルされていないときは 6 秒かかっていることです。そのため、クエリの再コンパイルを制御または防止できれば、大きな違いが生じるでしょう。
どんな助けでも大歓迎です。
linq-to-entities - Linq で Devart Entity Framework にコンパイルされたクエリ
コンパイルされたクエリの場合、LINQ to Object Entity FrameWork では、基本的に、クエリを一度にコンパイルしてから、別の時間をコンパイルせずに再利用できます。
例えば:
私の質問は、LINQ to Devart Entity FrameWork で、エンティティを渡すことができません。有効なパラメーターとして datacontext のみを許可するためです。
コンパイル済みクエリの linq を devart エンティティ フレームワーク (edml) に変換する方法を教えてください。
注:「Devart LinqConnect Model(lqml)」で正常に動作します例:
しかし、edml は "ObjectContext" であり、lqml は "DataContext" であるため、"Devart Entity Model" ではありません。
前もって感謝します、
c# - モデル オブジェクトを DataConext にマップする
以下は、コンパイル済みの linq クエリでの最初の試みに使用しようとしているコードです。コードは正常にビルドされ、サイトは期待どおりに実行されますが、プログラムがコンパイルされたメソッドを呼び出すと、次のエラーが表示されます。The type 'Monet.Models.ZipCodeTerritory' is not mapped as a Table.
この特定の問題について話すネット上には何も見つからないようです。ZipCodeTerritory
テーブルをDataContext
オブジェクトにマップするために何をする必要があるか教えてもらえますか? 私は Entity Framework をZipCodeTerritory
使用しており、このページで使用されているモデルです。
パラメータ/コンストラクタ
コンパイルされたメソッド呼び出し
編集
パラメーターとコンストラクターを次のように更新しました。現在、テーブルのインスタンスをZipCodeTerritory
独自に作成し、それをプリコンパイル済みクエリで使用しようとしています。ただし、コンストラクターの次の行にまったく同じメッセージが表示されます。ZipCode = _dbContext.GetTable<ZipCodeTerritory>();
パラメータ/コンストラクタ
c# - MVC Web アプリケーションでコンパイルされた Linq to SQL クエリ
mvc 4 を使用して Web アプリケーションを構築しました。最初に、コンパイル済みクエリを使用せずにアプリケーションを実装しましたが、パフォーマンスを向上させるために、コンパイル済みクエリを使用したいと考えています。しかし、私はクエリを使用できませんDataContext
。次のような多くのメソッドを持つクエリのクラスがあります。
はクラスDataContext
で作成および破棄されます。Controller
したがって、コンパイルされたクエリを異なるDataContext
s で使用できないという問題があります。DataContext
また、セッションに参加したくありません。
私の問題を解決するアイデアはありますか?
c# - 条件演算子を含む LINQ to SQL コンパイル済みクエリを実行する方法は?
条件付きの "?:" 演算子を含む LINQ-to-SQL クエリをコンパイルする必要があります。このようなクエリをコンパイルすることはできますが、実行しようとすると失敗するという問題があります。
ここに簡単な再現があります:
コンソール出力は、予想される sql ステートメントが実行されたことを示しています。
しかし、データベースから結果セットを列挙しようとしているときに実行が失敗したようです。
例外は InvalidOperationException で、「シーケンスには複数の要素が含まれています」というメッセージが表示されます。
スタック トレースは次のとおりです。
誰でもこれを実行する方法を提供できますか? 説明できない理由により、この条件付きロジックを式の外に移動することはできません。これは、コンパイルされたクエリの一部である必要があります。
c# - リストを返すlinq コンパイル済みクエリを使用
ここのチュートリアルに基づいて、コンパイル済みの linq to sql クエリを作成しています。結果をリストとして返す方法を見つけようとしているので、コードで結果を使用できます。現在、これはデフォルトの IEnumerable であり、2 回列挙できないというエラーが表示されます。