Modelo Subsonic3 T4 para Oracle (ODP.NET), gerando uma consulta estranha para o ActiveRecord (edição de colchetes quadrados)

StackOverflow https://stackoverflow.com/questions/4247397

Pergunta

Atualmente, estou tentando usar o Subsonic3 ORM (Modo ActiveRecords) com o provedor de dados Oracle (ODP.NET) e o modelo T4 para acessar um dB Oracle 10G (Ver. 10.2.0.3.0).

Depois de lidar com algumas pequenas falhas obtendo os modelos para construir os vários códigos para mim, consegui fazer tudo para compilar e correr, mas estou enfrentando um problema com a consulta que ela gera para mim.

Rastreando/pisando pelo código, dei uma olhada no que a SQL Query estava sendo gerada e achei o seguinte:

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])

E meu código estava lançando uma exceção com uma mensagem Oracle de "Expressão ausente: ORA-00936". Por isso, tentei executar esta consulta diretamente na linha de comando e ela foi lançada com a mesma mensagem.

Em seguida, removi todos os suportes quadrados (que não me pareciam certos) e as duas referências "como" (2ª e 3ª linha) e a consulta correu bem.

Alguém pode me explicar por que o subsônico está fazendo isso? Ou melhor ainda, como consertar isso?

Obrigado!

EDITAR: Acho que também devo perguntar (já que não sou um especialista em Oracle): os colchetes quadrados são normais/legais? E o operador "AS"?

Foi útil?

Solução

Depois de fazer algumas escavações, descobri que, para o suporte do Oracle (e possivelmente DB2), há um garfo do tronco no subsônico que tem melhor suporte para esses dois bancos de dados. Siga este link: https://github.com/rally25rs/subsonic-3.0

Esse código -fonte parece ser o negócio real.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top