Digamos que tengo una tabla que tiene una columna de datos de tipo XML. Dentro de SQL, puedo ejecute la siguiente instrucción:¿Usando XQuery en Linq a SQL?
select top 10 *,
Content.value('(/root/item/value)[1]', 'float') as Value
from xmltabletest
where Content.value('(/root/item/MessageType)[1]', 'int') = 1
El conjunto de resultados contiene sólo los registros que coinciden con los criterios, y se extrae un valor del XML en una columna llamada 'Valor'. Agradable y simple.
¿Se puede lograr lo mismo con Linq To SQL?
Me gustaría que SQL haga el trabajo pesado y solo devuelva datos que coincidan con mis criterios en lugar de tener que seleccionar, transferir y luego procesar un fragmento potencialmente masivo de datos. Por lo que puedo decir, esto no es posible en este momento, pero pensé que debería preguntar.
(El medio ambiente es .NET 3.5, VS2008, SQL Server 2005 si eso ayuda)
He encontrado los mismos problemas y tuve que hacerlo usando procs almacenados o ejecutando consultas xquery a través del contexto de datos –
En realidad, usaremos el método de contexto de datos. Es una mierda, pero hace el trabajo y solo tenemos una entidad con una columna XML. Debería ser fácil de mantener limpio y organizado. –