سؤال

ولدي كائن أستخدمه لتخزين توثيق بيانات التعريف في جدول. النص الأساسي للوثيقة يمكن أن تكون كبيرة جدا، وأحيانا> 2GB ولذا فإنني سوف يتم تخزينها في (حد أقصى) مجال NVARCHAR في SQL 2008. سوف تستخدم SQL 2008 في وقت لاحق إلى مؤشر هذا المجال. أنا لن تستخدم filestreams لأنها مقيدة جدا إلى قاعدة البيانات ويمنع أنواع معينة من خطط تأمين التوافق.

ويتعرض هذا الكائن إلى المطور عبر LinqToSQL. ما يقلقني هو أن الحقل ستكون كبيرة ولقد رأيت صافي قصف خارجا مع استثناء OutOfMemory إذا كان النص> 1.5 GB.

وهكذا وأنا أتساءل، هل يمكنني معالجة هذه النقطة ك دفق مع ينق؟ أو لا بد لي من تجاوز ينق تماما إذا كنت ترغب في استخدام فقاعة؟

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

المحلول

وبالنظر إلى الإجابة على "هل يمكن استعلام LINQ استرجاع النقط [...] " I <م> المشتبه كنت من الحظ. و System.Data.Linq.Binary نوع ليس لديها أي آلية لتدفق - أساسا انها مجرد تمثيل غير قابل للتغيير صفيف بايت

وربما تكون هناك بعض موجو LINQ العميق يمكن أن تحتج، ولكن أظن أنه سيكون له حقا أن تكون عميقة جدا.

ومن الممكن أن الإطار الكيان سيكون التعامل معها - أنا لم التحقيق أن

.

نصائح أخرى

وانتهى بي الأمر في كتابة المنهج بلدي في جميع أنحاء LINQ إلى SQL باستخدام أسلوب الكتابة متاحة للVARCHAR (حد أقصى) كائنات في SQL. وهذا يسمح للمطورين لقطعة يدرج في DB لأنواع البيانات الكبيرة.

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