1

LINQ プロバイダーは、実際の LINQ クエリを SQL クエリ (または何でも) に変換する「もの」であることを理解しています。これは、LINQ クエリの AST を走査し、適切な SQL クエリをレンダリングすることによって行われます。ここまでは順調ですね。

これは、次のような単純な C# コードで機能すると想像できます。

where person.Age >= 18

これは (ほとんど直接) SQL に変換できます。しかし、次のような任意の複雑な C# コードを提供するとどうなるでしょうか。

where person.Name.StartsWith(person.Age < 25 ? 'X' : 'Y')

SQL にはこれに相当するものはありません。そのような場合、LINQ プロバイダーは何をしますか?

4

2 に答える 2