私は実際に誰かがそれを行ったかどうかを確認するためにここにいるので、そうする必要はありません。これまでのところ運がありません。しかし、頭のてっぺんから見てみたいと思うのは、ターゲット文字列の状態を評価し、さまざまな基準を追加する何らかの形式のルール エンジンです。
今はまだ MDX の構文を調べ始めていません。私はそれほど進んでいませんが、SQLクエリを作成するエンジンを作成したい場合は、列のリスト、テーブル、およびwhere句のリストが必要な部分(最も単純なケースを最初に)を見ていきます。したがって、3 つまたは 2 つだけの基本的なエンジン クラスを持つことができます。1 つは文字列のリスト and (または式のリスト) を取り、それらを連結します (または評価してから連結します)。ターゲット文字列が空の場合、targetString = "select "+ x でなければ targetString = ", " + x. 次に、where 式で同様のことを行います。where 式などのさまざまな形式を実装するクラスを構築するために、かなり凝ったものにすることができます。次に、最終的にエンジンを次のように渡します
MySqlEngine(new[] {"FirstName", "LastName", "GirlFriendsAddress"},
new []{EqualsExpression("FirstName","Brown"), EqualsExpression("LastName",Dynamite")},
"People");
そしてそれは戻ってきます
"SELECT FirstName, LastName, GirlFriendsAddress From People Where FirstName = \"Brown\" AND LastName = \"Dynamite\""
式を使用して、テーブルに一致するターゲット モデルのプロパティを評価することを強くお勧めします。次に、モデルに同じ名前を付けることができ、where句のターゲット値以外の文字列を使用しないため、テーブル名に提供する必要がない MySqlEnigine(...) を作成できます。
これがあなたが望むエンジンではないことはわかっていますが、MDX についてはまだ知らないので、これを類推として使用する必要があります。
最終的な考え Window Workflow は使用しないでください。あなたは途中で自殺したいと思うでしょうし、あなたがそれを最後までやり遂げたなら、将来何年にもわたってあなたの名前を呪う開発者がいるでしょう.
幸運を
ああ、それをビルドする場合は、それをオープンソースにして教えてください。私はそれをする必要はありません。