こんにちは、助けてくれてありがとう。ID(int)、server_info(xml)の2つの列を持つサーバーでホストされているSQLテーブルがあります。このテーブルのxmlエントリは次のようになります。
<ServerID>11</ServerID><GroupID /><ParentID>15</ParentID><ServerName>IAProd1</ServerName><User>admin</User><UID>123</UID><PWD>password</PWD><Domain>TestDomain</Domain><Location>Left</Location>
このテーブルは、Silverlightアプリケーション内でADO.Netデータエンティティデータモデルとして表されます。Id番号を取得し、server_info列のxml内に埋め込まれている親ID値に基づいてサーバーテーブル内の子を検索する、WCFサービスを介して呼び出されるパラメーター化されたクエリが必要です。SQLサーバーでは、xpathステートメントを使用して次のクエリを使用してこれを行うことができます。
<!--uses xpath statement in the where clause:(server_info.value('(ServerID)[1]', 'int') = 11) -->
SELECT ID, server_info
FROM tbl_server_xml
WHERE (server_info.value('(ServerID)[1]', 'int') = 11)
現在、私のクエリメソッドは次のようになっています。
public List<tbl_server_xml> getChildServers(int parentId)
{
//create instance of Ado.Net entity
xMonitorXMLTestDBEntities db = new xMonitorXMLTestDBEntities();
var item = from entry in db.tbl_server_xml
where //need assistance with the where clause
select entry;
}
serviceメソッドのlinqクエリだけで同等の方法を実行する方法や、xpathステートメントをLinqクエリに統合する方法を理解できませんでした。これを行う方法はありますか、それとも私はこれを間違って行っていますか?助けてくれてありがとう。