plantilla SubSonic3 T4 para Oracle (ODP.net) generar extraño de consulta para ActiveRecord (tema Square paréntesis)

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

Pregunta

Actualmente, estoy tratando de usar SubSonic3 ORM (modo ActiveRecords) con el proveedor de Oracle (ODP.NET) de datos y la plantilla T4 para acceder a un Oracle 10g (ver. 10.2.0.3.0) DB.

Después de tratar con unos pocos fallos importancia conseguir las plantillas para construir los diversos códigos para mí, me las arreglé para conseguir todo para compilar y ejecutar, pero estoy corriendo en un problema con la consulta que se genera para mí.

Rastreo / paso a paso a través del código, me dio un vistazo a lo que se estaba generando consulta SQL y se encontró lo siguiente:

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

Y mi código estaba lanzando una excepción con un mensaje de Oracle de "Expresión perdido: ORA-00936". Así que traté de ejecutar esta consulta directamente en la línea de comandos y ERROR-ed a cabo con el mismo mensaje.

A continuación, me quita todos los corchetes (que no se ve bien para mí) y las dos referencias "AS" (2ª y 3ª línea) y la multa de consultas se quedó.

Puede alguien explicarme por qué SubSonic está haciendo esto? O mejor aún, cómo solucionar este problema?

Gracias!

EDIT: supongo que también debe preguntar (ya que no soy un experto de Oracle): Son los cuadrados soportes normales / legal? ¿Qué pasa con el operador "AS"?

¿Fue útil?

Solución

Después de hacer algo de investigación, he encontrado que para Oracle (y, posiblemente, DB2) de apoyo, hay un tenedor del tronco en subsónicas que tiene un mejor soporte para estos 2 bases de datos. Siga este enlace: https://github.com/rally25rs/SubSonic-3.0

Este código fuente parece ser el verdadero negocio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top