問題タブ [autoquery-servicestack]
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.
servicestack - AutoQuery: 中間テーブルを介してテーブルを結合し、結合する FK を定義します
最近、ServiceStack AutoQuery の使用を開始しました。それは素晴らしい機能であり、私たちはそれを本当に楽しんでいました. 次のようなテーブル構造があります (読みやすいように縮小版)。
理論的には、そのような結合を持つことができます
ただし、この特定のケースでは、Department.ActiveManagerId = Manager.Id を介して Department から Manager に参加すると、Department.ActiveManagerId はショートカットであり、他のシナリオ用に設計されているため、正しい結果が生成されません。
したがって、AutoQueryをそのように定義すると
以下の SQL は AutoQuery によって生成されますが、これは ServiceStack AutoQuery の観点からは正しいものです。
しかし代わりに、このような SQL を生成する機能が必要です
c# - IConvertible を実装しない値の型で ServiceStack Autoquery を使用する
クエリ パラメーターでAutoQueryを使用しようとしNodaTime.LocalDate
ましたが、具体的にはその日付フィールドを使用してフィルター処理しようとすると、次の例外が発生します>MyDate=2020-01-01
(順序は影響を受けません)。
なぜならis aであり、not anを使用する次のコード行まで追跡しました。Convert.ChangeType(...)
NodaTime.LocalDate
struct
enum
私はNodaTime ServiceStackシリアライゼーション ライブラリを使用しているので、TypeSerializer.DeserializeFromString(strValue, fieldType)
この場合の動作は実際に必要なものです。
私が見る回避策は次のとおりです。
MyDateDateBetween=2020-01-01,9999-12-31
そのコードパスは指定したカスタムシリアル化を使用するため、クエリ文字列で使用します(面倒です)DateTime
の代わりに使うNodaTime.LocalDate
(私は を使いたいNodaTime.LocalDate
)- AutoQuery を使用しない (使用したい)
NodaTime.LocalDate
実装するIConvertible
(可能性は低い)
自動クエリ フィルターを実装しない値の型で動作させる別の方法はありますIConvertible
か?
c# - Servicestack - 自動クエリ rdbms API を使用するための OR 演算子
クエリの条件に OR 演算子を使用する方法はありますか。[QueryDbField(Term=QueryTerm.Or)]
修飾子を使用できることは知っていますが、これによりプロパティの動作が常に変更されます。同じフィールドに対して、AND でクエリを実行する必要がある場合と、OR でクエリを実行する必要がある場合があります。何かのようなもの
州 = la AND 金額 = 1000 OR 合計金額 = 1000
なる
{url}?state=la&amount=1000& OR totalamount=1000
kendo-grid - リクエストを自動クエリ対応に変換
ページング/ソート/フィルタリングが組み込まれたサードパーティのグリッド (telerik kendo) を使用しています。GET 呼び出しを行うときに特定の方法でリクエストを送信し、翻訳する方法があるかどうかを判断しようとしています。これらのリクエストを AutoQuery フレンドリ リクエストに送信します。
クエリ文字列パラメーター
並べ替えパターン:
フィルタリング:
したがって、これはクエリ文字列に入力されます。
に翻訳する必要があります。
フィルターを削除する (または必要なものを追加する) ことによって、プラグイン内のクエリ文字列オブジェクトを操作する必要がありますか? ここでより良いオプションはありますか?
剣道側でもこれを行うためのきれいな方法があるかどうかはわかりません.