В настоящее время я пытаюсь использовать SubSonic3 ORM (режим ActiveRecords) с поставщиком данных Oracle (ODP.NET) и шаблоном T4 для доступа к базе данных Oracle 10g (версия 10.2.0.3.0).
После нескольких незначительных сбоев в получении шаблонов для создания различного кода для меня, мне удалось собрать все это для компиляции и запуска, но у меня возникла проблема с Query, который он генерирует для меня.
Отслеживая / проходя по коду, я взглянул на то, что генерируется 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 «Отсутствует»Выражение: ORA-00936 ".Поэтому я попытался выполнить этот запрос непосредственно в командной строке, и он вывел ошибку с тем же сообщением.
Затем я удалил все квадратные скобки (которые мне не показались правильными) и оба "КАК""ссылки (2-я и 3-я строка) и запрос выполнялся нормально.
Может кто-нибудь объяснить мне, почему SubSonic делает это?Или еще лучше, как это исправить?
Спасибо!
РЕДАКТИРОВАТЬ: Я думаю, мне следует также спросить (так как я не эксперт Oracle):квадратные скобки нормальные / законные?А как насчет оператора "AS"?