問題タブ [objectquery]
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.
c# - リポジトリ / IQueryable / クエリ オブジェクト
私はリポジトリを構築していますが、多くの場所で IQueryable をリポジトリ外に公開しない理由が 2 つあります。
1) 1 つ目は、さまざまな LINQ プロバイダーが異なる動作をする可能性があり、この違いはリポジトリ内に含まれている必要があるためです。
2) 2 つ目は、サービス レベルの開発者がデータベース クエリを変更して、誤ってパフォーマンスの問題を引き起こすことを防止することです。
問題2は、すべてのクエリロジックをリポジトリ内に保持し、外部クエリの構築を許可しないことによってのみ防止できると思いますか? しかし、それは私には少し非現実的なようです。
問題 1 は、データ オブジェクト パターンを使用することで解決されるようです。
例えばpublic IEnumerable<T> FindBy(Query query)
私の質問は、プロバイダーに依存しないラムダ式を渡すだけでなく、クエリオブジェクトと同じ機能と同じレベルの分離を提供するように見えるのはなぜですか?
例えばpublic IEnumerable<T> FindBy(Expression<Func<T,bool>> predicate)
これをしない理由はありますか?それはいくつかの規則に違反していますか?ベストプラクティス?私が知っておくべきことは何ですか?
sql - ef5 ObjectQuery「いいね」
私は ObjectQuery に EF5 を使用しています。
しかし、それはうまくいきません。常にすべての結果を返します。何か案は?ありがとう!
c# - ObjectQuery、Where 句で時間を渡す
DateTime 列の Time 部分のみを照会する ObjectQuery の Where 句を作成するにはどうすればよいですか? 以下を試してみましたが、うまくいきません。Convert で無効な例外が発生します。
また、データベースとして Oracle を使用しています。to_charそのため、変換の代わりに試しましたが、それでも同じエラーが発生します。
ありがとう。
c# - DbQueryのObjectQuery.Parametersに相当するものは何ですか
linq ステートメントを使用してクエリを取得するコードがあり、そのクエリを使用しDbQueryてObjectQueryforeach ループを介してパラメーターを追加していました。ただしDbQuery、パラメーターはサポートされていません。手動で追加できることはわかっています。しかし、SQL ステートメントには 36 個の異なるパラメーターがあります。そのため、パラメーターを追加する方法を見つける必要があります。
これは、パラメーターに使用するコードです。
私はそれを行う方法が必要ですDbQuery
objectquery - 引用符内のクエリで変数に @bind を使用する JDBI
これが可能かどうか/どのように可能か疑問に思っています。可能であれば、私が理解できないように見える単純な修正だと確信しています
基本的に、このおもちゃの例では、列に [任意のテキスト]thingName[任意のテキスト] が含まれる行を選択しようとしています。上記のように使用すると、引用符がバインドされた変数を覆い隠していると思うので、バインドされた変数ではなく、文字通り [any text] :thingName [anyText] を探します。
前もってありがとう、マデリーン
wpf - オブジェクト クエリに含まれるエンティティで Where 句を使用する (Entity Framework)
WPF データベース フロント エンドの基盤として Entity Framework を使用しています。
私のデータベース構造はオフィスビル用であり、この問題について理解する必要があるのは、最上位エンティティが市場と呼ばれることだけです (郊外または中央ビジネス地区を考えてください)。マーケットには多くのプロパティがあり、プロパティには多くの調査があります。
返される調査を最新の 10 件の調査のみに制限したい (調査は 6 か月ごとに実施される)。
自動生成されたコードがどのようにクエリを構築しているかを確認できます。
where 句を使用して、OMRBuildingSurvey エンティティのプロパティをフィルター処理したいと考えています。次のように、Market (最上位のエンティティ) の ID をフィルター処理する where 句を記述できます。
しかし、OMRBuildingSurveys エンティティのプロパティをフィルター処理したいのですが、そこに移動する方法が見つからないようです。私が試してみました:
しかし、私はエラーが発生します:
誰かが私を正しい方向に向けることができれば、本当に感謝しています!
どうもありがとうございました。素晴らしい一日を!
wpf - Linq メソッドを使用して Where 句で複数の Entity Framework エンティティをナビゲートする
オブジェクト クエリを使用して、複数のエンティティ リレーションシップにわたってクエリを実行しようとしています。
エンティティ チェーンは、基本的に OMRMARKET (1 対多) PROPERTIES (1 対多) OMRBUILDINGSURVEYS (1 対多) PERIODS です。つまり、市場には多くのプロパティがあり、プロパティには多くの調査があり、調査には多くの期間があります。
次のオブジェクト クエリをフィルタリングします。
期間 ID (疑似コード) OMRMarket.Properties.OMRBuildingSurveys.PeriodID > 50
次に、次のような後続の Where 関数をネストできるのではないかと考えました。
そして、そのクエリを構築するのに役立つインテリセンスのサポートを受けますが、エラーが発生します
タイプ 'System.Collections.Generic.IEnumerable(Of OMR.OMRInterfaceCustomCode.OMRBuildingSurvey)' の値を 'Boolean' に変換できません
どんな助けでも大歓迎です。私はこれが実行可能でなければならないことを知っています。よろしくお願いします。
entity-framework - EF を使用して実装されたリポジトリが ObjectQuery ではなく IQueryable を公開する必要があるのはなぜですか?
リンク:
私のリポジトリは常に IQueryable を返します。この理由は、IQueryable は EF に依存していませんが、ObjectQuery は依存しているためです。したがって、他のレイヤーを永続化しないようにしたい場合は、ObjectQuery への依存を導入したくありません。
a) リポジトリ ( EF を使用して実装) がIQueryable代わりに返さObjectQueryれる理由は、他の ORM も返されるクエリを使用するためIQueryableであり、リポジトリが返されることでIQueryable、EF と他の ORM を簡単に切り替えることができるためであると思います。リポジトリ?
b) EF と NHibernate 以外に、返すクエリを持つ他の ORM はありますIQueryableか?
ありがとうございました