0
Я пытаюсь получить список EntityTypes в файле EDMX, и следующий запрос не возвращает результаты:Почему этот запрос 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
Почему оленья кожа работа XPath здесь?
Это не трюк, и ни одно из других пространств имен –
Просто попробовал это сам, и это сработало - единственная модификация, которую я должен был сделать, это мой ssdl (s :) namespace URI, который является 'http : // schemas.microsoft.com/лукаво/2006/04/EDM/ssdl'. Я предполагаю, что вы используете EF4, поэтому у вас другой URI? –
Я использую VS2008 SP1, после использования схемы, которую вы сделали, это сработало, спасибо! –