modèle SubSonic3 T4 pour Oracle (ODP.net) générant la requête étrange pour ActiveRecord (Square numéro entre parenthèses)

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

Question

À l'heure actuelle, je suis en train d'utiliser SubSonic3 ORM (mode de ActiveRecords) avec le fournisseur de données Oracle (ODP.NET) et le modèle T4 pour accéder d'un Oracle (v. 10.2.0.3.0) DB.

Après avoir traité quelques pépins mineurs obtenir les modèles pour construire les différents codes pour moi, j'ai réussi à tout compiler et exécuter, mais je suis en cours d'exécution dans un problème avec la requête qu'il génère pour moi.

Tracing / pas à pas à travers le code, je pris un coup d'œil à ce que la requête SQL a été généré et trouvé ceci:

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

Et mon code a été lancer une exception avec un message Oracle de "Expression manquant: ORA-00936". J'ai donc essayé d'exécuter cette requête directement à la ligne de commande et erreur-ed avec le même message.

Je puis enlevé tous les crochets (qui n'a pas l'air juste pour moi) et les deux références « AS » (ligne 2 et 3) et la requête RAN bien.

Quelqu'un peut-il me expliquer pourquoi SubSonic fait cela? Ou encore mieux, comment résoudre ce problème?

Merci!

EDIT: Je suppose que je devrais aussi demander (puisque je ne suis pas un expert Oracle): Les crochets droits normal / légal? Qu'en est-il de l'opérateur "AS"?

Était-ce utile?

La solution

Après avoir fait quelques recherches, je trouve que pour le support Oracle (et peut-être DB2), il y a une bifurcation du tronc sur subsonique un meilleur support pour ces 2 bases de données. Cliquez sur ce lien: https://github.com/rally25rs/SubSonic-3.0

Ce code source semble être la vraie affaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top