Конвертировать Expression в sql c#


1

Например есть код

_users.FirstOrDefault(user => user.Role == "Admin" && user.Id < 10)

Тут _users - DbSet. Можно ли конвертировать user => user.Role == "Admin" && user.Id < 10 в текст SQL? Должно получится что-то WHERE Role = Admin AND Id <10

Нужно написать Функцию вроде такой:

string ConvertExpToSql(Expression<Func<TEntity, bool>> exp)

Которая возвращала бы SQL запрос полученного выражения.

Источник
  •  47
  •  0
  • 25 янв 2017 2017-01-25 10:41:35
@mirypoko: Они стоят денег именно потому, что написать такую функцию сложно. — 25 янв 20172017-01-25 11:11:37.000000
А зачем вам это нужно? — 25 янв 20172017-01-25 10:47:46.000000
Я не знаю общедоступных конвертеров, не являющихся частью какой-нибудь ORM. — 25 янв 20172017-01-25 10:47:17.000000
@AlexanderPetrov в вопросе DbSet используется как пример. У меня есть функция, которая принимает Expression<Func<TEntity, bool>> exp, внутри нужно конвертировать параметр exp в SQL строку. — 25 янв 20172017-01-25 10:39:39.000000
Проще всего использовать свойство Log. Для получения полной информации использовать IDbCommandInterceptor. — 25 янв 20172017-01-25 10:37:04.000000

Ответов пока нет