¿Cómo construir esta consulta con el marco de la entidad: la columnaEntity Framework consulta XML
SELECT *
FROM TreeNodes
WHERE data.value('(/edumatic/assessmentItem/@type)[1]', 'nvarchar(max)') like 'multiplechoice1'
de datos es XML. Al parecer, esto se convierte en una cadena por el marco de la entidad ...
Ésta es mi comienzo, pero de aquí no sabría cómo agregar el dónde ...
var query = from e in edumatic3Context.TreeNodes
where e.Data.???????
select e;
foreach (var treeNode in query)
Console.WriteLine("{0} {1} {2} {3}", treeNode.TreeNodeId, treeNode.Name, treeNode.Type, treeNode.DateChanged);
También probé algo parecido siguiente código pero que no funciona bien:
var sql = "SELECT VALUE treeNode FROM TreeNodes as treeNode WHERE data.value('(/edumatic/assessmentItem/@type)[1]', 'nvarchar(max)') like 'multiplechoice1'";
var query = edumatic3Context.CreateQuery<TreeNodes>(sql);
foreach(...)
puede recomendar un libro para aprender Entity Framework (con ejemplos de función de almacenamiento ...)? Gracias. –
Una entrada de blog (que Alex realmente escribió) que es bastante relevante: http://blogs.msdn.com/alexj/archive/2009/08/07/tip-30-how-to-use-a-custom-store -function.aspx – GordonB
@Alex, tengo un requisito similar y seguí su sugerencia, pero existen problemas para llamar a EdmFunctions en la condición LINQ Where. ¿Puedes verificar la publicación http://stackoverflow.com/questions/24218403/query-xml-from-sql-using-entity-framework-database-first – Prasad