Сохранение LINQ в базу данных Oracle - PullRequest
1 голос
/ 19 ноября 2011

У меня есть следующий XML-файл:

<os:tax>
 <os:cat name="abc" id="1">
     <os:subcat name="bcd" id="11">
         <os:t name="def" id="111">
             <os:cut name="hello" id="161" cutURL="/abc/a.html"/>
             <os:cut name="hello2" id="162" cutURL="/abc1/a1.html"/>
             <os:cut name="hello3" id="163" cutURL="/abc4/a3.html"/>
         </os:t>
     </os:subcat>
     <os:subcat name="xyz" id="33">
         <os:t name="def" id="333">
             <os:cut name="hello" id="181" cutURL="/abcs/a.html"/>
             <os:cut name="hello2" id="182" cutURL="/abcs5/a1.html"/>
             <os:cut name="hello3" id="183" cutURL="/abcs6/a3.html"/>
         </os:t>
     </os:subcat>
 </os:cat>
 <os:cat name="def" id="2">
     <os:subcat name="bcd" id="22">
         <os:t name="def" id="222">
             <os:cut name="hello" id="171" cutURL="/abcs/a.html"/>
             <os:cut name="hello2" id="172" cutURL="/abcs1/a1.html"/>
             <os:cut name="hello3" id="173" cutURL="/abcs4/a3.html"/>
         </os:t>
     </os:subcat>
 </os:cat>
</os:tax> 

С помощью кого-то из stackoverflow у меня есть работающий LINQ для получения данных из файла, который выглядит так:

XDocument doc = XDocument.Load("tax.xml");
XNamespace os = "http://something"; // You haven't included the declaration...

var query = from cat in doc.Descendants(os + "cat")
        from subcat in cat.Elements(os + "subcat")
        from t in subcat.Elements(os + "t")
        from cut in t.Elements(os + "cut")
        select new
        {
            CatId = (int) cat.Attribute("id"),
            CatName = (string) cat.Attribute("name"),
            SubCatId = (int) subcat.Attribute("id"),
            SubCatName = (string) subcat.Attribute("name"),
            TId = (int) t.Attribute("id"),
            TName = (string) t.Attribute("name"),
            CutId = (int) cut.Attribute("id")
            CutName = (string) cut.Attribute("name")
            CutUrl = (string) cut.Attribute("cutURL")
        };

Может кто-нибудь сказать мне, как я могу сохранить эти данные в базе данных Oracle, используя эту процедуру хранилища:

abc (id   in varchar2,
     level           in varchar2,
     title           in varchar2,
     parent_id       in varchar2,
     cuturl          in varchar2)

id (сохранит все идентификаторы, такие как cat, subcat, t, cut., Затем идентификатор родительского заголовка будет идентификатором выше текущего идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...