هل استخدم Dataset ام LINQtoSQL ؟

27 06 2009

مع كثر هذه التقنيات ، يقل العبئ البرمجي والذهني على البرمج ، لكن الضريبة هي تعلم تقنية جديدة كل يوم ومعرفة اي تقنية يجب ان يستخدم في الحالة التي يواجهها ، خصوصا ان هناك تقنيات كثيرة تصب في نفس الجانب ولكن مع اختلاف الوظيفة والاداء والغرض الاساسي لها .

من هذه الامور هو استخدام Dataset او LINQtoSQL ، فبعد ظهور LINQtoSQL صار علينا التفريق في استخدامهما ومعرفة الحالات التي تقتضي افضلية ايهما !

في الحقيقة هذا يعتمد على السيناريوهات التي تود تحقيقها ، وانت حر بطبيعة الحال في السيناريو الذي تريد .

بالنسبة للـ Dataset :
- الـ Dataset سهل التعريف ، والتسلسل Serialize ، ويسهل فصل الكود فيها عن تصميمه في المشاريع المتعددة الطبقات خصوصا بما يتعلق بالـ TableAdapter المضمنه فيه .
- الـ Dataset يحتوي على متتبع للتغيرات التي تطرأ على البيانات المضمنه فيه، ويدعم التغيير دفعه واحده Batch Editing وكذا بالنسبة للتصفيه والعرض ، كما انه يتعامل بشكل تلقائي مع العلاقات المركبة Complex Relationships .
- يسهل استخدام Dataset عندما نرغب في عمل ربط بيانات DataBinding بشكل متقدم ومعقد .
- يصعب استخدام Dataset عندما نرغب بعمل بعمل عمليات تحقق متقدمة على البيانات .
- يجب تجنب استخدام Dataset عندما تقوم ببناء تطبيق موزع ليس كل العملاء Clients فيه مبنية على net.

بالنسبة لـ LINQtoSQL :

-  يقدم لك LINQtoSQL دعم تحكم كامل بالتحقق Validation, السلوك Behavior ، منطق الأعمال BusinessLogic ، كما انها سهله التوريث للفئات الاخرى ، هذا يعني امكانيه عمل طبقات ام وطبقات مشتقة للاعمال بكل سهولة .
- يمكن عمل تسلسل Serialization لفئات LINQtoSQL على شكل مصفوفات Arrays لغير عملاء net.
- بمجرد ايقاف الاتصال بين LINQtoSQL والـ DataContext ، تكون عملية ال Databinding وتعقب التغييرات على البيانات عملية صعبة ويجب عليك القيام بكل ذلك بنفسك !





Collections Initializers في Visual Basic 2010

19 06 2009

في كل اصدارة جديدة جديد برمجي ، هذا ما عودتنا عليه مايكروسوفت خصوصا في السنوات الاخيرة ، حيث تجد العديد من التطويرات الجديدة في لغة البرمجة مما يكسبها المزيد منت المرونة والقوة في نفس الوقت .

من التطويرات الجديدة في النسخة القادمة من Visual Basic والتي تحمل الرقم 10 هي ما يدعى بمنشئات المجموعات Collection Initializers . في هذه المقالة سنتعرف على الـ Collections Initializers .

أقرأ باقي الموضوع »