SELECT *
FROM TreeNodes
WHERE data.value('(/edumatic/assessmentItem/@type)[1]', 'nvarchar(max)') like 'multiplechoice1'
データ列がXMLです。どうやらこれは
... Entity Frameworkのことで文字列に変換されるこれが私のスタートですが、ここから、私はどこを追加する方法を知っているだろう...
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);
私はまた、のようなものを試してみました次のコードが、それはどちらか動作しませんでした:
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(...)
あなたは(...ストア機能の例を挙げて)Entity Frameworkのを学ぶための本をお勧めしますか?どうも。 –
かなり関連性の高いブログエントリ(Alexが実際に書いたもの):http://blogs.msdn.com/alexj/archive/2009/08/07/tip-30-how-to-use-a-custom-store -function.aspx – GordonB
@Alex、私は同様の要件があり、あなたの提案に従っていますが、LINQ Where条件でEdmFunctionsを呼び出す際に問題があります。あなたは投稿を確認してください。http://stackoverflow.com/questions/24218403/query-xml-from-sql-using-entity-framework-database-first – Prasad