私はクエリに必要な数多くの異なるデータソースを持っており、すべてのクエリを2条件以下の非常に単純な式に限定することができました。私のラムダ式の典型的な複雑さの例は次のとおりです。非常に単純な式<Func <T, bool>>をSQL where句
public override T Get(List<T> assets, Expression<Func<T, bool>> whereClause)
{
return assets.Where(a => whereClause.Compile()(a)).FirstOrDefault();
}
:私の非SQLデータソースに
b => b.user == "joe" && b.domain == "bloggs.com"
私はリストをオブジェクトとのようなLINQクエリを使用するためにそれらを変換することができますよう、OKですよ
私の問題は、リレーショナルデータベースを照会する必要があるときです。私はPostgreSQLとMySQLに本当に関心があります。少し苦労しました。私はLinqにnHibernateを持っていますが、データベースへのアクセスが停止したり、接続を閉じることができないいくつかの問題を抱えています。
私のクエリはとても簡単で、自分でSQLを構築することができて幸せです。
私は素早く検索していくつかのサンプルを見つけましたが、もちろんLinq-to-SQLエンジンもいくつかあります。質問は、それが1日以内に取り組むことができるかどうかです。それは互換性のあるLinq-to-SQLライブラリを見つけて、それが正常に動作していると仮定して負荷テストをすると私は見積もっています。私は大きなパフォーマンスの考慮事項を持っているので、生のSQLはORMを実行するのではなく、私にとって優先されます。
あなたはLINQプロバイダを構築したいか、単にSQL WHERE句にラムダを変換しますか? –
単純なwhere節を作成したいだけです。私はそれが重大な仕事だと知っているLINQプロバイダを構築したくありません。 – sipwiz