0
私はEDMXファイルにEntityTypesのリストを取得しようとしている、と次のクエリは結果を返しません:こここのXPathクエリが.edmxファイルで動作しないのはなぜですか?
XmlDocument edmxFile = new XmlDocument();
edmxFile.Load(args[0]);
XmlNamespaceManager nsMan = new XmlNamespaceManager(edmxFile.NameTable);
nsMan.AddNamespace("edmx", "http://schemas.microsoft.com/ado/2007/06/edmx");
nsMan.AddNamespace("s", "http://schemas.microsoft.com/ado/2007/06/edm/ssdl");
nsMan.AddNamespace("e", "http://schemas.microsoft.com/ado/2007/06/edm");
nsMan.AddNamespace("u", "urn:schemas-microsoft-com:windows:storage:mapping:SC");
XmlNodeList entityTypes = edmxFile.DocumentElement.SelectNodes("//EntityType", nsMan); //Returns 0 nodes
XmlNodeList entityTypes = edmxFile.SelectNodes("//EntityType"); //Returns 0 nodes also
なぜdoesntのXPathの仕事を?
これはやっていませんでした。他の名前空間のいずれもしていませんでした。 –
自分自身で試してみました。それはうまくいきました。唯一の変更は私のssdl(s :)名前空間URIです。これは 'http :// schemas.microsoft.com/ado/2006/04/edm/ssdl'。私はEF4を使用していると仮定しています。なぜあなたは異なるURIを持っているのですか? –
私はあなたがしたスキーマを使用した後、VS2008 SP1を使用しています、それは感謝しました! –