В настоящее время я пытаюсь использовать SubSonic3 ORM (режим ActiveRecords) с поставщиком данных Oracle (ODP.NET) и T4 шаблон для доступа к базе данных Oracle 10g (версия 10.2.0.3.0).SubSonic3 T4 шаблон для Oracle (ODP.net), генерирующий странный запрос для ActiveRecord (вопрос с квадратными скобками)
После обработки нескольких мелких сбоев, получающих шаблоны для создания кода для меня, мне удалось собрать все данные для его компиляции и запуска, но у меня возникает проблема с запросом, который он создает для меня.
Трассировка/шагая через код, я решил посмотреть на то, что SQL-запрос был генерируется и нашел это:
SELECT [t0].[SOME_COLUMN], [t1].[ANOTHER_COLUMN]
FROM [USER].[SOME_TABLE] AS t0
CROSS JOIN [USER].[ANOTHER_TABLE] AS t1
WHERE ([t0].[ID] = [t1].[ID])
И мой код бросает исключение с сообщением Oracle «пропадание Expression: ORA -00936" . Поэтому я попробовал запустить этот запрос непосредственно в командной строке и об ошибке с тем же сообщением.
Затем я удалил все квадратные скобки (которые не смотрели на меня справа) и обе ссылки «AS» (2-я и 3-я строки), и запрос прошел нормально.
Может кто-нибудь объяснить мне, почему SubSonic это делает? Или еще лучше, как это исправить?
Спасибо!
EDIT: Я также должен спросить (поскольку я не эксперт по Oracle): Являются ли квадратные скобки нормальными/законными? Как насчет оператора «AS»?
Ничего себе, извините, я опоздал на этот ответ, но я расчесывал старые сообщения, помеченные SubSonic, и увидел это. Как вы уже знаете, мой репозиторий GitHub (тот, с которым вы ссылаетесь выше) является правильным местом для получения «бета-версии» поддержки Oracle ODP.NET. В конечном итоге это будет включено в основной код SubSonic для версии 3.1.0.0, но я не знаю временные рамки для того, когда эта версия произойдет. Я решил, что должен оставить этот комментарий здесь для всех, кто сталкивается с этим в будущем. – CodingWithSpike 2010-12-30 20:05:57