私が十分に欲しがっていたら、LINQ-to-SQLに追加のLINQ構造を追加できますか?(私自身のLINQプロバイダを作成することは可能でしょうか?)たとえば、組み込みのLINQ演算子(XYZ.Any()
)の多くはSQL(例:)に直接変換されます。LINQ-to-SQLがサポートする演算子を拡張できますか?
特殊な構成が必要だった場合でも、そのセットを拡張することはできますか、それとも実際のLINQ-to-SQLプロバイダーに焼き付ける必要がありますか?
新しい演算子の実装を追加するにはどうすればよいですか? C#の拡張メソッドは、仕事をするのに十分なフックですか?
回答が「はい」の場合、LINQ-to-SQLによって生成された動的SQLを使用してsproc機能の多くを(すべて?)置き換えることができますか?
私は物事のAST解析/式ツリーの終わりから何が得られるだろうかと非常に精通しています。私は実際にはまだ正確な必要性を持っていないが、主に将来の使用法について疑問を持っていた。 LINQで*すべて*を表現できるのであれば、本当にクールなモデルなので、あまりにも悪いです。 SubSonic&NHibernateについて言及すると、拡張子を許可するか、あるいは私が必要とするものを持つ可能性がある別のプロバイダと同じことができるからですか? – mckamey
私はSubSonicやNHibernateの組み込み式の拡張性は認識していませんが、ソースをダウンロードして独自に追加するオプションがあります。 LINQで_everything_を表現するのが魅力的ですが、単純にうまくマップできないSQL構文がいくつかあります。これは、.NET 4で拡張されたExpressionサポートで変更される可能性があります。 – dahlbyk