سؤال

أنا شاركت في وضع طبقات تطبيق يستخدم LINQ2SQL فصل من خادم الويب مع الشبكة.TCP ملزمة WCF.

أسئلتي هي:

  1. ما نوع التدابير التي يجب أن تتخذ لتحقيق أفضل أداء ؟
  2. منذ الكيان الكائنات عاد قبل ينق تحتاج إلى تحويلها إلى IEnumerable قائمة تسلسل في كل مرة هناك على أي حال لإزالة هذه التبعية?
هل كانت مفيدة؟

المحلول

1) التركيز على صحيح تطبيع تصميم قاعدة البيانات.أود أن أقول أنه عندما كنت اضطر لجعل التصميم المفاضلات في التعليمات البرمجية الخاصة بك مقابلتصميم قاعدة البيانات ، إذا كان الأداء هو الهدف الخاص بك ، إجراء المفاضلات في تصميم الكائن بدلا من قاعدة البيانات الخاصة بك تصميم.نفهم أن كنت لن تكون قادرة على القيام السليم supertype/فرعي تصميم قاعدة البيانات التي سوف تعمل مع Linq to SQL (أنا قلت لك تحتاج إلى استخدام EF بدلا من ذلك).

2) يعتمد على ما تقصده هنا.إذا كنت تسأل كيف سيكون تسلسل مجهول الطبقات عبر سلك من السهل الإجابة هي:"لا يمكنك لذا لا تحاول".إذا كنت تريد أن تضع قوائم الكائنات عبر الأسلاك ، فقط استخدام ToArray() طريقة التمديد على IEnumerable مجموعات سفينة صالحة عملك الكائنات عبر السلك.

نصائح أخرى

Linq to SQL بطيء جدا إلا إذا كنت تجميع الاستفسارات.وإلا سيتم تطبيق وحدة المعالجة المركزية ملزمة كما في معظم الوقت يكون قضاء تحويل تعبير الأشجار في SQL.

نحن نتحدث عن 10x كسب الأداء إذا كنت تستخدم تجميع الاستفسارات.محاولة :)

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