SQL-to-LINQ, счетчик в XElement с выводом XML - PullRequest
0 голосов
/ 04 мая 2011

Я перетаскиваю свои данные с помощью SQL в LINQ с выводом XML, и все работает правильно, за исключением того, что я пытаюсь добавить счетчик в операторе select.В новом XElement («Сообщение», «i») мне нужно заменить i на 1, 2, 3 ..., чтобы отразить число номеров каждого цикла данных.Мой текущий вывод возвращает i для messageID и код ниже, используя VB.Я изо всех сил пытался найти решение, любая помощь была бы признательна.

  • i 'Мне нужно как 1 обновление
  • 000076 0
  • i' Мне нужно как 2 обновление
  • 000104 0

    Public Sub QOHPush () Dim db As MYDataContext = New MYDataContext ()

    Dim QOH1 = <MyEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
                xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
                   <Header>
                       <DocumentVersion>1.01</DocumentVersion>
                       <MerchantIdentifier>Test</MerchantIdentifier>
                   </Header>
                   <MessageType>Inventory</MessageType>, _ 
                          <%= From c In db.Inventories _
                              Select New XElement("Message", _
                              New XElement("MessageID", "i"), _ 
                              New XElement("OperationType", "Update"), _
                              <Inventory>
                                  <SKU><%= c.LocalSKU %></SKU>
                                  <Quantity><%= c.QOH %></Quantity>
                              </Inventory>) %>
               </MyEnvelope>
    
    QOH1.Save("\\10.x.x.x\Backup\Products20110328134844.xml")
    

1 Ответ

0 голосов
/ 02 августа 2011

Рассматривали ли вы это?

Dim QOH1 = <MyEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
       <Header>
           <DocumentVersion>1.01</DocumentVersion>
           <MerchantIdentifier>Test</MerchantIdentifier>
       </Header>
       <MessageType>Inventory</MessageType>, _ 
              <%= Dim counter as Integer = 0
                  From c In db.Inventories _
                  Select New XElement("Message", _
                  New XElement("MessageID", "i += 1"), _ 
                  New XElement("OperationType", "Update"), _
                  <Inventory>
                      <SKU><%= c.LocalSKU %></SKU>
                      <Quantity><%= c.QOH %></Quantity>
                  </Inventory>) %>
   </MyEnvelope>
QOH1.Save("\\10.x.x.x\Backup\Products20110328134844.xml")
...