問題タブ [generated-sql]

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

c# - これら 2 つの LINQtoSQL ステートメントの違いは何ですか?

これらの 2 つのステートメントは論理的には同じように見えますが、異なる SQL が生成されます。

例 #1 は機能しませんが、例 #2 は機能します。

クエリ用に生成された SQL はvar people両方で同じですが、最終的なクエリの SQL は次のように異なります。

なぜこの違いがあるのですか?

編集:

これまで、生成された SQL を取得するために行ったことは、デバッガーでクエリ可能なものを検査することだけでした。ただし、Jon が提案したようにロガーを設定した後、実行された実際のsql は異なるようです。

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

sql-server - NHibernate は引用符なしで GUID パラメータの SQL を生成する必要がありますか?

SQL Server 2008 R2 Express. NHibernate 2.1.2.4。

私は次のようなSQLを取得します:

...そのIDを持つ顧客がそこにいるにもかかわらず、0レコードを返します。

SQL Server 列のデータ型は UNIQUEIDENTIFIER です。

<session-factory>次のように構成されています。

クラスは次の<id>ように構成されています

さまざまなツッツの助けを借りて、初めてこれを乗り越えました。私はすべてを何度か経験しましたが、喜びはありません。ここで間違っている/欠けているアイデアはありますか? ティア!

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

ruby-on-rails-3 - Rails 3.1 HABTMとカスタムforeign_keyの関連付けにより、誤った結合ステートメントが生成される

has_and_belongs_to_manyアソシエーションを使用しようとすると、かなり苛立たしい問題が発生しました。

シナリオは次のとおりです。

多くのニュースアイテムが関連付けられている製品があります。その逆も同様です。ニュースアイテムはさまざまな言語に翻訳できるため、同じコンテンツのニュースを追跡するために(ただし、異なる言語に翻訳されます)、ニュースにnews_idを追加しました。

私の問題は、関連付けが製品と一意のニュース(newsitem.news_id)の間にあり、単一のニュース項目(newsitem.id)ではないことです。

私のモデル:

私の移行は次のとおりです。

この設定を使用すると、呼び出し時に次の正しいSQLが生成されます。

SQL:

製品に関連するすべてのニュースアイテムを要求すると、問題が発生します。prod = Products.first prod.newsitems.to_sql SQL:

製品で:association_foreign_key =>:news_idを宣言し、ニュースアイテムで:foreign_key =>:news_idを宣言しましたが、生成される「ON newsitemsid」は間違っているため、次のようになります。

このナットを割って開けてくれる人がいるといいのですが。

よろしくお願いします-PeterPiper

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

asp.net - 生成されたSQLをtableadapterコードから削除する方法または場所

強く型付けされたデータセットとストアドプロシージャを使用するアプリを開発してきました。私は卒業したばかりで、これが道として私たちに売られた方法でした。私は深刻な疑問を持ち始めています。

クライアントから、SQLServerからMySQLに変更する可能性があるとのアドバイスがありました。私が読んだことから、移行がより困難になる可能性があるため、ストアドプロシージャを使用しない方がよい場合があります。とにかく、ウィザードを使用して新しいテーブルアダプタクエリを実装し、[新しいストアドプロシージャを作成するのではなく、SQLステートメントを使用する]を選択しました。

クエリへの呼び出し

ここで、このエラーが生成されます。

executereaderには、開いていて利用可能な接続が必要です。接続の現在の状態は閉じています

この自動生成されたコードに接続がない理由がわかりません。二日酔いで、これに対処することができません。作業を行うために、とりあえずSPに戻ることにしました。このエラーは引き続きスローされます(同じテーブルアダプター、同じメソッド名ですが、SPを使用するように再構成されています)。他のすべてのDB呼び出しは正常に機能します。

SPを使用するようにアダプタを変更したにもかかわらず、生成されたSQLコードがまだどこかに浮かんでいると思います。誰かがそれがどこにあるか教えてもらえますか?それで私はそれを削除できますか?

別の注意点として、私はSqlConnectionとSqlCommandを手動で使用する方がはるかに優れたオプションであると考え始めています。これらのクエリ「ツール」を使用すると、データベーステーブルの変更などの柔軟性に関して、多くの問題が発生する可能性があります。あなたはより経験豊富な人々がそれが正しいかどうか教えてくれますか、それともテーブルアダプターの使用を提唱していますか?

*編集 すると次もスローされます:

操作が無効です。接続が閉じられます。

このコマンドに関連付けられている開いているDataReaderがすでにあり、最初に閉じる必要があります。

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

c# - Linq が where 節を無視するのはなぜですか?

これについてはすでにいくつかの StackOverflow の質問がありますが、私のシナリオと一致するものはないようです。私は見たことを約束します。

linq を使用してデータベースに対していくつかのクエリを実行していますが、間違った SQL が生成される理由がわかりません。これは、私のコードのいくつかの場所で発生しています。よく知られている落とし穴に陥っているだけだと思いますが、Linq が where 句がダムであり、生成された SQL クエリに追加すべきではないと判断したように見える理由に頭を悩ませることはできません。

どうしてこれなの?

例:

上記のクエリは、次の SQL を返します

ただし、次のクエリ:

次の正しい SQL を生成します