قالب Subonic3 T4 لـ Oracle (ODP.NET) الذي يولد استعلامًا غريبًا لـ ActivereCord (قضية Brackets Square)

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

سؤال

حاليًا ، أحاول استخدام Subonic3 ORM (وضع ActivereCords) مع مزود بيانات Oracle (ODP.NET) وقالب T4 للوصول إلى Oracle 10G (Ver. 10.2.0.3.0) DB.

بعد التعامل مع بعض مواطن الخلل البسيطة في الحصول على القوالب لإنشاء الكود المختلفة بالنسبة لي ، تمكنت من الحصول على كل شيء لتجميعه وتشغيله ، لكنني أواجه مشكلة في الاستعلام الذي يولده بالنسبة لي.

تتبع/خطوة من خلال الكود ، ألقيت نظرة على ما تم إنشاؤه في استعلام 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])

وكان الكود الخاص بي يرمي استثناء برسالة أوراكل "مفقود التعبير: ORA-00936". لذلك حاولت تشغيل هذا الاستعلام مباشرة في سطر الأوامر ويخطئ في نفس الرسالة.

ثم قمت بإزالة جميع الأقواس المربعة (التي لم تنظر إليّ بشكل صحيح) وكلاهما "كـ" المراجع (الخط الثاني والثالث) وركع الاستعلام بشكل جيد.

هل يمكن لأحد أن يشرح لي لماذا يفعل Subsic هذا؟ أو حتى أفضل ، كيف إصلاح هذا؟

شكرًا!

تعديل: أظن أنني يجب أن أسأل أيضًا (لأنني لست خبيرًا في أوراكل): هل القواعد المربعة طبيعية/قانونية؟ ماذا عن المشغل "AS"؟

هل كانت مفيدة؟

المحلول

بعد القيام ببعض الحفر ، وجدت أنه بالنسبة لدعم Oracle (وربما DB2) ، هناك شوكة من الجذع على Subsic والتي لديها دعم أفضل لقواعد البيانات هذه. اتبع هذا الرابط: https://github.com/rally25rs/subsonic-3.0

يبدو أن رمز المصدر هذا هو الصفقة الحقيقية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top