سؤال

أنا اختبار DBLINQ-0.18 و DBLINQ من صندوق SVN مع MySQL و postgresql. أنا فقط باستخدام استعلام بسيط للغاية ولكن على كلا قاعدة البيانات DBLINQ لا يولد جملة عند. لقد أكدت ذلك عن طريق تشغيل تسجيل البيان على postgresql للتحقق بالضبط ما يرسله DBLINQ بالضبط.

استعلام LinQ الخاص بي هو:

MyDB db = new MyDB(new NpgsqlConnection("Database=database;Host=localhost;User Id=postgres;Password=password"));

var customers = from customer in db.Customers
                where customer.CustomerUserName == "test"
                select customer;

الاستعلام يعمل موافق ولكن SQL الناتج عن DBLINQ هو من النموذج:

select customerusername, customerpassword .... from public.customers

لا يوجد بند حيث يعني DBLINQ سحب الجدول بأكمله قبل تشغيل استعلام LinQ.

هل كان لدى أي شخص أي تجربة مع DBLINQ ومعرفة ما يمكن أن أفعله خطأ؟

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

المحلول

لقد وجدت المشكلة ولا علاقة لها مع DBLINQ.

كنت اختبر بعض الاشياء من الحديد وداخلها وجود تجميع يسمى Microsoft.Scripting.Core الذي يكرر مساحة اسم System.Data.linq (لماذا يفعل ذلك لا أعرف).

مع مرجع إلى Microsoft.Scripting.Core التجميع الخاص بي يقوم بتجميع تطبيق TED DBLINQ الخاص بي وتشغيله بشكل جيد ولكنه سيكون لديك جملة حيث مفقود على SQL. أدى إزالة مرجع التجميع الذي أدى إلى إنشاء جملة حيث يتم إنشاؤه بشكل صحيح.

نصائح أخرى

كنت أتجنب استخدام DBLINQ لإنتاج رمز الإنتاج ... لا يتم تطبيق العديد من ميزات LinQ-To-SQL، والمشي من خلال التعليمات البرمجية المصدر مستوى منخفض من الاستحقاق ... لا يتم تنفيذ العديد من الطرق أو تم وضع علامة عليها "untermined".

...لقد تم تحذيرك!

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