سؤال

أبحث عن إضافة "البحث المتقدم" القدرة على بلدي ASP.NET/SQL 2005 ملقم التطبيق.من الناحية المثالية, أود أن يكون الجدول مدفوعة.على سبيل المثال ، إذا التغييرات المخطط مع إضافة عمود جديد إلى الجدول الذي أريد أن البحث أود أن يكون واجهة تعكس إضافة عمود جديد باسم للبحث الميداني.أستطيع أن أتصور بعض الجداول التي تحتوي على الحقول التي يمكن البحث فيها ، وأنواعها ، ويرتبط عمليات البحث ، وما إلى ذلك.

هذه الجداول يمكن الرجوع إليها عند بناء واجهة المستخدم.سؤالي يكمن مع أفضل نهج لخلق ديناميكية SQL.نهج واحد يكون بناء SQL بمعلمات نفسي.ولكن أنا مفتون Linq, و ما أعتقد أن هذا النظام.Linq.ديناميكية مساحة-و Linq أشجار التعبير - قد توفر أكثر أناقة/قوي الحل ؟

ونأمل أن أي حل من شأنه أن يعمل إما مع Linq to Sql أو ينق الكيانات.هل أنا على حق للتحقيق في هذا المسار أو هذا الفضاء مشكلة لا حقا واحدة من حالات الاستخدام التعبير الأشجار ؟

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

المحلول

يمكنك استخدام التعبير الأشجار, طريق بناء الشجرة التي لا مقارنة بين كافة الحقول في المخطط ثم يمر هذا التعبير في Linq2Sql العودة sql تريد.ولكن لماذا تهتم ؟ انها أكثر البرمجة الجهد ، رمز سوف يكون من الصعب أن نفهم ، وليس هناك فائدة أخرى من النظرية القدرة على مبادلة خارج مقدمي البيانات.

(يا هوارد) - في الواقع - العمل مع سلاسل في هذه الحالة ستكون أبسط كثيرا مما w/ أشجار التعبير.من ناحية أخرى, إذا كنت ذاهب الى تقديم لغة الاستعلام الخاص بك إلى المستخدمين ، ثم أشجار التعبير من شأنه أن تأتي في متناول اليدين.

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