問題タブ [linq-to-objects]
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# - このシナリオでは、単一のLINQクエリ式をフレーム化できますか?
多くのオブジェクトに基づいて単一のオブジェクトをフィルタリングする必要があるシナリオに直面しています。
例として、FruitプロパティとVegetableプロパティの両方で構成されるGroceryオブジェクトがあります。次に、個々の果物と野菜のオブジェクトがあります。
私の目的はこれです:
私が直面している問題は、果物と野菜のオブジェクトが空の場合です。 空とは、リスト数が0であることを意味し、フィルターリストが入力されている場合にのみフィルターを適用します。
オブジェクトがnullであるため、次のようなものも使用できません。
だから、私は果物と野菜のリスト数をチェックし、連続してフィルタリングされた食料品オブジェクトで別々の式としてそれらをフィルタリングするつもりです。
しかし、単一のクエリ式でnullオブジェクトの場合でもリストを取得する方法はありますか?
c# - Linq-to-objectsの処理時間はx回の反復ごとに2倍になります
ループする〜137000レコードを含むエンティティのリストがあります。次に、これに含まれる追加パラメーターのタプルのリストにリンクする必要があります〜150000
なぜそれはより長くかかり続けるのですか、それはより多くの反復を行いますか?これがストップウォッチからのものです。見つかったもの:基準に一致する136770個のアイテム。
10,000個のアイテムが処理されましたEllapsedTime:5473つまり:0.0912166666666667分。
処理された20,000アイテムEllapsedTime:15307つまり:0.255116666666667分。
30,000アイテムが処理されましたEllapsedTime:30065つまり:0.501083333333333分。
50,000アイテムが処理されましたEllapsedTime:74507つまり:1.24178333333333分。
処理された75,000アイテムEllapsedTime:157836つまり:2.6306分。
処理された100,000アイテムEllapsedTime:272495つまり:4.54158333333333分。
EllapsedTime:499663つまり:8.32771666666667分。
これを最適化する方法はありますか?
よろしく
_エリック
c# - LINQ to Objects で拡張メソッドを実装する方法について混乱している
LINQ はかなり新しく、拡張メソッドに頭を悩ませようとしています。私がやろうとしていること:
1) col1 (string)、col2 (double)、col3 (DateTime) の 3 つの列を持つテーブルを作成します。
2) 列 1 でグループ化する LINQ クエリを記述し、グループ化された行を double 値を返すメソッドに送信する必要があります。このようなもの
3)拡張機能があります:
私はこれに少し取り組んでいますが、よくわかりません。誰か助けてくれませんか?
c# - LINQ ID 関数
LINQ の構文について少しだけ。でフラット化しIEnumerable<IEnumerable<T>>
ていSelectMany(x => x)
ます。
私の問題はラムダ式にありx => x
ます。ちょっと見栄えが悪いです。代わりに使用できる静的な「アイデンティティ関数」オブジェクトはありx => x
ますか? みたいなSelectMany(IdentityFunction)
?
c# - Linqを使用して列でDistinctを使用する方法
これが私のコードです:
ip列は一意である必要があります。ipフィールドに重複するアイテムを含めることはできません。linqでこれを行うことは可能ですか?
c# - Linq Group By句ですべての選択キーを取得する方法
このlinqクエリで残りの選択キーを取得しようとしていますが、インテリセンスでエラーが発生しています
これらの選択キーを取得するにはどうすればよいですか?
.net - LINQ Gernic List VB.NET
製品クラスエンティティの抽象リポジトリとサンプルデータを含む偽のリポジトリを使用してドメインモデルを作成しようとしています。
次の製品クラスを作成しました
そして次のインターフェース:
一般的なLINQリストを使用してデータを作成する必要がありますが、行き詰まっています。これはこれまでのところですが、アイテムを追加できません。
サンプルアイテム:
ヘルプは大いに活用されます。
c# - 2.linq to sqlでテキストボックスを使用してデータベースからレコードを編集/更新する方法は?
レコードの編集などのデータベース操作に、linq to sql による Visual Basic 2008 Express Edition を使用しています。SQL サーバーは使用しませんでしたが、Visual Basic 2008 Express 内の組み込みの SQL サーバーを使用しているだけです。コードを修正しようとしましたが、構文にエラーはありませんでしたが、実行時にエラーが発生し、エラー メッセージを示すウィンドウ メッセージがポップアップ表示されました。私が望むのは、データベースからテキスト ボックスに取得されたレコードを編集し、ボタン5をクリックすると、テキスト ボックスの新しい値が前の値を置き換えることです。Accountフィールドは memrec.dbml の Table1 にあるフィールドで、主キーを true に設定し、残りのフィールドは主キーで false に設定します。以下のコードでも、プログラムを実行するとエラーが検出され、次のようなウィンドウがポップアップ表示されます。
NotSupportedException が処理されませんでした- SQL サーバーは、NText、Text、Xml、または Image データ型の比較を処理しません。
行の黄色の背景が強調表示されます。
これらは、memrec.dbml プロパティ ウィンドウの Table1 の各フィールドのプロパティに表示されるものです。
考えられるエラーは何ですか?
それはその設定の観点からですか?
これが私のコードです:
この問題を解決するために時間を割いていただきありがとうございます.....
linq-to-objects - オブジェクトへのLINQを使用して、ネストされたすべてのコレクションで個別の値を選択しますか?
次のコード設定があるとします。
LINQ を使用して、すべての Foo インスタンスにわたって MyStrings 内のすべての個別の文字列のリストを取得するにはどうすればよいですか? これは簡単だと思いますが、よくわかりません。
c# - 行レベル セキュリティの実装 – (SP と LINQ to Objects)
これは、何よりもベスト プラクティスと設計に関する問題だと思います。これに関する同様のクエリを検索しようとしましたが、見つかりませんでした。実際にEntity Framework を使用した Row Level Security を見つけましたが、ここでのコンテキストは少し異なると思います。
最初に私のシナリオを説明しようとします:
共通のビジネス ライブラリを使用して NHibernate 経由で SQL 2008 データベースにアクセスする .net 3.5 Web サイトがあります。コードはすべて C# で、NHibernate 2.1 を使用しています。私の Web サイトには、ビジネス ライブラリからのさまざまな IList が表示されます。ビジネス レイヤーは、NHibernate を介して SQL からすべてのデータを取得します。したがって、つまり、IList を返すメソッド、IList を返す別のメソッド、別の IList などを作成できます。ポイントは、アクティブなユーザーがすべての戻り値の一部にしかアクセスできないことです (ほとんどすべてのタイプの結果セットをセキュリティから除外する必要があります)。 )、そのため、許可されたデータ行のみを Web サイトに返す「データ フィルター」をライブラリに実装する必要がありました。これを実現するために、私の Web サイトの IPrincipal がライブラリで使用されているため、ユーザーの詳細を取得してデータをフィルター処理できます。しかし、私たちのセキュリティ モデルは非常に複雑であるため、それをすべてのメソッドに広げると、メンテナンスに大きな問題が生じます。これを解決するために、現在のユーザーに許可されたアイテムを返すいくつかの SQL SP を作成しました。ビジネス ロジックでは、要求されたデータをセキュリティ データと結合するだけで、最終的な結果セットをユーザーに送信できます。現在、データを結合するこのプロセスは、Linq to Objects を使用しており、リスト (セキュリティ) で iList を結合して、許可された結果セットのみを返します。IList はさまざまな方法で NHibernate から取得され、GetAll() メソッド、ICriteria.List() または IQuery.List()、または NamedQuery.List() によって取得される可能性があり、セキュリティ データは常に次のいずれかから取得されます。 2 つの NamedQuery.List()。また、スレッド化を実装して、SQL 呼び出しを同時およびスレッド後に実行できるようにすることも計画しています。join() は、両方の IList で LINQ 結合を実行します。メソッドを実行する必要がある方法を示すために、次のサンプル コードを追加しました。
2 番目のオプションは、SQL 側に結合を実装することです。すべての呼び出しは、セキュリティ結果で結合を実行し、ビジネス コードが取得できないようにする SQL SP から来る必要があります。 NHibernate 機能の完全な使用。
さて、私の質問ですが、これは行レベルのセキュリティに対するひどいアプローチ/プラクティスですか (私たちのセキュリティ モデルは非常に複雑でカスタマイズ可能であり、それはビジネス設計によるものであることを覚えておいてください)、それとも正しい方向に進んでいますか? 他に選択肢はありますか?
前もってありがとう、クレイトン