Comment voulez-vous construire cette requête avec Entity Framework:Entity Framework XML Query
SELECT *
FROM TreeNodes
WHERE data.value('(/edumatic/assessmentItem/@type)[1]', 'nvarchar(max)') like 'multiplechoice1'
colonne de données XML est
. Apparemment, cela est converti en une chaîne par Entity Framework ...
Ceci est mon départ, mais d'ici, je ne sais pas comment ajouter le ... où
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);
J'ai aussi essayé quelque chose comme code suivant mais cela ne fonctionne pas non plus:
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(...)
Pouvez-vous recommander un livre pour apprendre Entity Framework (avec des exemples de fonction de magasin ...)? THX. –
Une entrée de blog (qu'Alex a réellement écrit) est très pertinente: http://blogs.msdn.com/alexj/archive/2009/08/07/tip-30-how-to-use-a-custom-store -function.aspx – GordonB
@Alex, j'ai une exigence similaire et j'ai suivi votre suggestion, mais il y a des problèmes à appeler les EdmFunctions dans la condition LINQ Where. Pouvez-vous s'il vous plaît vérifier le poste http://stackoverflow.com/questions/24218403/query-xml-from-sql-using-entity-framework-database-first – Prasad