2010-11-22 2 views
1

В настоящее время я пытаюсь использовать 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»?

ответ

0

После некоторого рытья я обнаружил, что для поддержки Oracle (и, возможно, DB2) есть вилка из туловища на SubSonic, которая имеет лучшую поддержку этих двух баз данных. Следуйте по этой ссылке: https://github.com/rally25rs/SubSonic-3.0

Этот исходный код является реальной сделкой.

+1

Ничего себе, извините, я опоздал на этот ответ, но я расчесывал старые сообщения, помеченные SubSonic, и увидел это. Как вы уже знаете, мой репозиторий GitHub (тот, с которым вы ссылаетесь выше) является правильным местом для получения «бета-версии» поддержки Oracle ODP.NET. В конечном итоге это будет включено в основной код SubSonic для версии 3.1.0.0, но я не знаю временные рамки для того, когда эта версия произойдет. Я решил, что должен оставить этот комментарий здесь для всех, кто сталкивается с этим в будущем. – CodingWithSpike 2010-12-30 20:05:57