問題タブ [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.
entity-framework-4 - TVP パラメーターを使用した ExecuteStoreQuery
データベースに、テーブル値パラメーター、単一の整数 Id 列を含む IdTable オブジェクトのリストを受け取るストアド プロシージャがあります。
データベースのエンティティ モデルがあり、次のことを行いたい...
これは、多数の ProjectSummary エンティティを返す必要がある場合に実行され、結果を返しません。
これを SQL プロファイラーでプロファイリングすると、次のようになります。
ストアドプロシージャを宣言すると
その後、結果が返されません。TVP パラメータが空になっているようです。
手動で実行したかのように
SELECT クエリから返された値 1 と 2 を取得します。
したがって、ExecuteStoreCommand を実行するときに、SP_EXECUTESQL ではなく EXEC を使用したいようです。上記のコード例を考えると、いったいどうすればいいのでしょうか?
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 は参照しているようです。それはリードです...この新しい開発に関する情報は非常に高く評価されています.
entity-framework - ROW_NUMBER()ExecuteStoreQuery CrypticResultErrorを使用した回避策
私はEF4.0を使用して、非常に基本的なクエリを実行しています。テーブル内のすべての列参照がInt(bigintもsmallintも使用しない)であることを確認したので、それを除外しました。タイプをInt64に変更しようとしましたが、Int32へのキャストについて文句を言います。これは、「問題は問題ではない」タイプのシナリオであると私に信じさせます。EFシステムは何について不平を言っていますか?
生成されたエラー:マテリアライズされた「System.Int64」タイプから「System.Int32」タイプへの指定されたキャストは無効です。
entity-framework-4 - SQL インジェクションを回避するために ExectureStoreQuery を呼び出すときに、パラメーター化されたクエリを使用する必要がありますか?
SQL インジェクション攻撃を防ぐために、ExecuteStoredProcedure から sql を実行するときにパラメーター化されたクエリを使用する必要があるかどうか疑問に思っていますか?
このMSDN リンクによると、パラメーターを使用する必要があります。
この他の MSDN リンクによると、{0} を使用する SQL 文字列は、パラメーターを使用するのと同じです。
では、SQL ステートメントに {0} や {1} などを含めるだけで本当に問題ないのでしょうか。
または私は必要ですか:
sql - ExecuteStoreQuery および "WHERE IN ({0})
次のコードを取得しました。
次のエラーが表示されます:「nvarchar 値 '1, 2' をデータ型 int に変換中に変換に失敗しました。」...
これを解決する方法を知っている人はいますか?私が欲しいselect * from dbo.Personnel where PersonnelId in (1, 2)
のは、数字はどんな数字でもかまいません...
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?>()
たが、私が試みるすべてがこの例外を引き起こします)
mysql - データリーダーには複数のフィールドがあります。複数のフィールドはEDMプリミティブ型には無効です
このようなlinqのExecuteStoreQuery
メソッドを使用して、テーブルから複数の行を削除しようとしています
しかし、それはこの例外をスローしています
私は何が間違っているのですか?
参考までに、MySqlを使用しています。
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接続を開くのではなく)私の既存の接続を使用しながら、それを行う別の方法はありますか?
c# - ExecuteStoreQuery が DateTime セッターで機能しない
メンバーExecuteStoreQuery
を持つカスタム クラスを正しく操作するのに問題があります。DateTime
データベースにあるものの代わりに、デフォルトDateTime
値 (1/1/0001 12:00:00 AM) を取得します。
MyInfo クラス定義:
ただしDateTime
、MyInfo の代わりにクエリを実行すると、正しい日付が返されます。