سؤال

ودعونا نقول لدي جدول يحتوي على عمود من نوع بيانات XML. ضمن SQL، ويمكنني أن تنفيذ العبارة التالية:

select   top 10  *,
         Content.value('(/root/item/value)[1]', 'float') as Value
from     xmltabletest
where    Content.value('(/root/item/MessageType)[1]', 'int') = 1

ومجموعة النتائج يحتوي فقط على السجلات المطابقة للمعايير، ومقتطفات قيمة من XML في عمود يسمى "القيمة". لطيفة وبسيطة.

هل يمكن تحقيق نفس الشيء مع LINQ إلى SQL؟

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

(والبيئة. NET 3.5، VS2008، SQL Server 2005 إذا تساعد)

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

المحلول

ولست متأكدا بالضبط إذا كان هذا هو خارج التاريخ الآن، ولكن وفقا ل<لأ href = "http://weblogs.asp.net/scottgu/archive/2007/05/29/linq-to-sql -part-2-تحديد-دينا-بيانات نموذج classes.aspx # 2691097 "يختلط =" noreferrer "> سكوت غوثري أنواع البيانات XML هي:

<اقتباس فقرة>   

وممثلة كسلاسل في LINQ إلى SQL   جهات. هل يمكن استخدام XLINQ الاستعلام   على عمود XML داخل LINQ ل   entitiy SQL - ولكن هذا من شأنه الاستعلام   يحدث في حياتك الطبقة المتوسطة (داخل   ASP.NET). لا يمكنك تنفيذ جهاز تحكم عن بعد   كسكيري على قاعدة بيانات وفلتر   النتائج التي تم إرجاعها على أساس أنه في   الإصدار الأول.

وحتى في الإجابة على سؤالك، وأنا أقول "لا".

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