erik bullens Ответов: 2

Генерация SQL из деревьев выражений


Я хочу сгенерировать операторы oracle sql из дерева выражений.
или пример как извлечь тело из выражения
tableRepository.Select(s =>  s.Id == 1 && s.Description == "ee" )

должна генерировать
select * from table where ID= 1 and description = 'ee';


Я хотел бы иметь пример того, как извлечь каждое выражение в теле дерева выражений

i want to achive something like this:
http://ryanohs.com/2016/04/generating-sql-from-expression-trees/


Что я уже пробовал:

Expression<Func<T, bool>> where
expression = where.Body

петля через дерево?

CHill60

И вот ваш вопрос ... Что?
Раздел "Что я пробовал:" предназначен для кода, с которым у вас возникли проблемы

GKP1992

Используйте Where вместо Select.

2 Ответов

Рейтинг:
1

erik bullens

я хочу достичь чего-то подобного:
http://ryanohs.com/2016/04/generating-sql-from-expression-trees/

Maciej Los

ОК. Что тебя останавливает?

erik bullens

лучший пример для начала

Рейтинг:
0

#realJSOP

Вы можете использовать LinqPad, чтобы увидеть sql.


Maciej Los

Джон, я думаю, ты неправильно понял вопрос опа. OP знает, как "перевести" запрос linq в представление sql.
Честно говоря, я не знаю, чего хочет добиться ОП.
Взгляните еще раз на этот вопрос (Форматирование было улучшено).

#realJSOP

Я должен спросить - с какой целью? Если он хочет писать sql, он должен научиться писать sql. В противном случае просто позвольте linq делать свою работу. Честно говоря, я не могу придумать ни одного допустимого использования/бизнес-кейса для извлечения sql из оператора linq в приложении.