c# - net - Datatable مقابل Dataset




get data from datatable c# (5)

أحد الاختلافات الرئيسية هو أن DataSets يمكنها الاحتفاظ بجداول متعددة ويمكنك تحديد العلاقات بين تلك الجداول.

إذا كنت تقوم فقط بإرجاع مجموعة نتائج واحدة على الرغم من أنني أعتقد أن DataTable سيكون أكثر تحسينًا. أعتقد أنه يجب أن يكون هناك بعض النفقات العامة (الممنوحة بشكل صغير) لتقديم الوظائف التي تقوم بها DataSet وتتبع العديد من DataTables.

أستخدم حاليًا DataTable للحصول على نتائج من قاعدة بيانات يمكنني استخدامها في الكود.

ومع ذلك ، يتم عرض العديد من الأمثلة على الويب باستخدام DataSet بدلاً من ذلك والوصول إلى الجدول (الجداول) من خلال طريقة المجموعات.

هل هناك أي ميزة ، الأداء الحكيم أو غير ذلك ، لاستخدام DataSets أو DataTables كأسلوب تخزين لنتائج SQL؟


إحدى ميزات DataSet هي أنه إذا كان يمكنك استدعاء عدة عبارات تحديد في الإجراءات المخزنة ، فسيحتوي DataSet على DataTable واحد لكل منها.


في 1.x كان هناك أشياء لم تستطع DataTables القيام بها والتي يمكن لـ DataSets (لا تذكرها بالضبط). تم تغيير كل ذلك في 2.x. أعتقد أن هذا هو السبب في أن الكثير من الأمثلة لا تزال تستخدم DataSets. يجب أن تكون DataTables أسرع لأنها خفيفة الوزن. إذا كنت تسحب مجموعة نتائج واحدة فقط ، فهذا هو أفضل خيار لك بين الاثنين.


هناك بعض التحسينات التي يمكنك استخدامها عند ملء DataTable ، مثل استدعاء BeginLoadData () ، وإدراج البيانات ، ثم استدعاء EndLoadData (). يؤدي هذا إلى إيقاف بعض السلوك الداخلي داخل DataTable ، مثل صيانة الفهرس ، وما إلى ذلك. راجع هذه المقالة للحصول على مزيد من التفاصيل.


يمثل كائن DataTable البيانات الجدولية في ذاكرة التخزين المؤقت لجدول الصفوف والأعمدة والقيود. تتكون DataSet من مجموعة من كائنات DataTable التي يمكنك ربطها مع بعضها البعض بكائنات DataRelation.







datatable