Если бы я захотел достаточно сильно, могу ли я добавить дополнительные конструкции LINQ к LINQ-to-SQL (как я мог бы это сделать, создав собственный провайдер LINQ)? Например, многие из встроенных операторов LINQ (XYZ.Any()
) напрямую переводятся в SQL (например, IF EXISTS(XYZ)
).
Если бы мне потребовалась специализированная конструкция, смогу ли я даже дополнить набор, или это нужно включить в реальный поставщик LINQ-to-SQL?
Как мне добавить добавленную реализацию нового оператора? Являются ли методы расширения C # достаточно ловкими для выполнения работы?
Если ответ «да», сможет ли кто-то с такой склонностью заменить большую часть (все?) Возможностей sproc с помощью динамического SQL, генерируемого LINQ-to-SQL?