問題タブ [executestorequery]

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 に答える
7072 参照

entity-framework-4 - TVP パラメーターを使用した ExecuteStoreQuery

データベースに、テーブル値パラメーター、単一の整数 Id 列を含む IdTable オブジェクトのリストを受け取るストアド プロシージャがあります。

データベースのエンティティ モデルがあり、次のことを行いたい...

これは、多数の ProjectSummary エンティティを返す必要がある場合に実行され、結果を返しません。

これを SQL プロファイラーでプロファイリングすると、次のようになります。

ストアドプロシージャを宣言すると

その後、結果が返されません。TVP パラメータが空になっているようです。

手動で実行したかのように

SELECT クエリから返された値 1 と 2 を取得します。

したがって、ExecuteStoreCommand を実行するときに、SP_EXECUTESQL ではなく EXEC を使用したいようです。上記のコード例を考えると、いったいどうすればいいのでしょうか?

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

c# - デプロイされたシステムで Entity Framework ExecuteStoreQuery が失敗する

わかりました、ここで少し困惑しました。これ以上頭を悩ませる代わりに、ここにいるすべての明るい人々にこれを放り投げようと思いました.

私は、WinApp ソリューションに Entity Framework と c# を使用しています。問題の核心は、私のシステムでは問題なく動作するのに、デプロイ後に失敗することです。展開したアプリを開発システムにインストールしても失敗します。それは少し気がかりです。

問題の核心と大胆に。ユーザーが検索を実行し、クエリを作成し、ExecuteStoreQuery 呼び出しを介して SQL をタップし、SearchResult オブジェクトの汎用リストを返します。

呼び出し:

代替呼び出しでも同じエラーが生成されます。

エラー:

SearchResults は次のようなカスタム オブジェクトです。

最後に、検索結果を取得するために使用される SQL の選択部分を次に示します。

SQLの結果をカスタムオブジェクトにバインドしているため、問題はEntity Framework内から発生しているようです。問題が発生した場合に備えて、カスタム オブジェクト フィールド名が SQL フィールドと同じであることを確認しましたが、そうではないようでした。

私が出発する時が近づいています。私は週末中ずっと考えているので、時々チェックして、誰かが持っているかもしれない質問に答えるでしょう.

私が言ったように、私は現時点で完全に困惑しており、誰かの洞察に感謝します.

前もって感謝します!

ウェイン

2011 年 11 月 14 日更新---------- Assembly Binding Log Viewer ツールを実行したところ、次の結果が得られました。Microsoft.Practices.Unity が読み込まれていないようです。つまり、私は一度もこれらの Practices アセンブリをアプリケーションで参照したことはありませんが、System.Data.Entity は参照しているようです。それはリードです...この新しい開発に関する情報は非常に高く評価されています.

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

entity-framework - ROW_NUMBER()ExecuteStoreQuery CrypticResultErrorを使用した回避策

私はEF4.0を使用して、非常に基本的なクエリを実行しています。テーブル内のすべての列参照がInt(bigintもsmallintも使用しない)であることを確認したので、それを除外しました。タイプをInt64に変更しようとしましたが、Int32へのキャストについて文句を言います。これは、「問題は問題ではない」タイプのシナリオであると私に信じさせます。EFシステムは何について不平を言っていますか?

生成されたエラー:マテリアライズされた「System.Int64」タイプから「System.Int32」タイプへの指定されたキャストは無効です。

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

entity-framework-4 - SQL インジェクションを回避するために ExectureStoreQuery を呼び出すときに、パラメーター化されたクエリを使用する必要がありますか?

SQL インジェクション攻撃を防ぐために、ExecuteStoredProcedure から sql を実行するときにパラメーター化されたクエリを使用する必要があるかどうか疑問に思っていますか?

このMSDN リンクによると、パラメーターを使用する必要があります。

この他の MSDN リンクによると、{0} を使用する SQL 文字列は、パラメーターを使用するのと同じです。

では、SQL ステートメントに {0} や {1} などを含めるだけで本当に問題ないのでしょうか。

または私は必要ですか:

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

sql - ExecuteStoreQuery および "WHERE IN ({0})

次のコードを取得しました。

次のエラーが表示されます:「nvarchar 値 '1, 2' をデータ型 int に変換中に変換に失敗しました。」...

これを解決する方法を知っている人はいますか?私が欲しいselect * from dbo.Personnel where PersonnelId in (1, 2)のは、数字はどんな数字でもかまいません...

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

c# - ObjectResultコレクションが空であったかどうかを確認するにはどうすればよいですか?

dbの最後のcustomer_idをチェックするこのコードがあります。

次に、このように必要な次のIDを取得します

それは機能していますが、新しい空のデータベースを処理するとき、ステートメントlast_customer_id_collection.FirstOrDefault<int?>()はInvalidOperationExceptionをスローします。

キャッチを試行せずにlast_customer_id_collectionが空であったかどうかを確認するにはどうすればよいですか?

last_customer_id_collection.Any<int?>()(ps私はまたはまたはDefaultIfEmptyなどをチェックしようとしましlast_customer_id_collection.Count<int?>()たが、私が試みるすべてがこの例外を引き起こします)

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

mysql - データリーダーには複数のフィールドがあります。複数のフィールドはEDMプリミティブ型には無効です

このようなlinqのExecuteStoreQueryメソッドを使用して、テーブルから複数の行を削除しようとしています

しかし、それはこの例外をスローしています

私は何が間違っているのですか?

参考までに、MySqlを使用しています。

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

c# - テーブルの列数を知らなくても、ExecuteStoreQueryを使用してデータベースから行をフェッチします

ExecuteStoreQueryのメソッドを使用して、SQLiteデータベースに対して手動でSQLクエリを実行しようとしていますObjectContext

問題は、クエリを実行しているテーブルに列がいくつあるかを常に把握しているとは限らないことです。理想的には、フェッチされた各行を単にstring[]オブジェクトにしたいです。

ここで例2を見てきました:http://msdn.microsoft.com/en-us/library/vstudio/dd487208 (v = vs.100).aspx

フェッチしている構造がわからないことを除けば、やりたいことに近いTElementので、例のように構造体を定義することはできません。

以下は私のコードの一部です(のためにコンパイルされていません???? TElement)。以下のコードはテーブル情報を取得しようとしているので、この場合、行の構造はわかりますが、一般的にはわかりません。

これを行う方法はありExecuteStoreQueryますか?ObjectContextまたは、 (DBへの新しいSQL接続を開くのではなく)私の既存の接続を使用しながら、それを行う別の方法はありますか?

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

c# - ExecuteStoreQuery が DateTime セッターで機能しない

メンバーExecuteStoreQueryを持つカスタム クラスを正しく操作するのに問題があります。DateTimeデータベースにあるものの代わりに、デフォルトDateTime値 (1/1/0001 12:00:00 AM) を取得します。

MyInfo クラス定義:

ただしDateTime、MyInfo の代わりにクエリを実行すると、正しい日付が返されます。