少し抽象的で申し訳ありません。私は開発の初期段階にいます。
私は2つのオブジェクトタイプを持っています:
- 一連のユーザー定義条件を保存する必要があるオブジェクト。
- 最初のオブジェクトで定義された条件の 0 個以上に一致するオブジェクト。
これがどのように実行されるかの簡単な例です。
- ユーザーがタイプ 2 のオブジェクトをいくつか作成し、それらをコレクションに追加します。
- 次に、ユーザーはタイプ 1 のオブジェクトを作成し、それにいくつかの条件を割り当てます。
- システムはオブジェクト タイプ 1 の条件を使用して、各オブジェクトが一致する条件のパーセンテージでソートされたタイプ 2 のオブジェクトのリストを生成します。
予想される出力のサンプルを次に示します。
Conditions List
Quantity >= 2 Object5 100%
Value < 2 Object2 75%
Category = "Blah" Object4 50%
Quality > 5 Object1 25%
Object3 0%
各条件の最初のオペランドはプロパティの名前で、2 番目のオペランドはそのプロパティの値です。
どうすればこれを達成できますか?
私の最初の考えは、クエリ言語に似ているということです。それらが DB テーブルのレコードである場合、条件ごとに SQL 文字列をつなぎ合わせ、各クエリを実行して、各レコード ID がクエリ結果に表示された回数を数えることができます。しかし、これらは単純な古い C# オブジェクトです。オブジェクトの永続化に何を使用するかはまだ決めていないので、現時点ではデータベース エンジンに縛り付けたくありません。助言がありますか?