現在、SQLでリフレクションを使用しています。特殊なクエリを作成する場合は、別のクラスを継承する新しいクラスを作成し、特殊なクエリ用に2つのメンバー/列を追加することで、結果を取得するのが最も簡単です。次に、c#コードのlibに反映されているため、foreach(var v in list){v.AnyMember and v.MyExtraMember)と書くことができます。
クラスを分散させたり、メインのDB.csファイルを変更したりする代わりに、関数内でクラスを定義できますか?new {name = val、name2 = ...};と書くことで、匿名オブジェクトを作成できることを知っています。しかし、このクラスをジェネリック関数func(query、args);で渡す必要があります。