2010-10-27 55 views
1

如下我創造與LINQ的XML文件...可以將本地數據中的值與使用LINQ to SQL時從數據庫返回的值混合嗎?

Public Sub CreateXml() 
     Dim db As New MDataContext 
     Dim Customers = <gallery columns="3" rows="3"> 
          <%= From customer In db.Customers _ 
           Select <customer> 
              <name><%= customer.CustName %></name> 
              <surname><%= customer.Surname %></surname> 
             </customer> %> 
         </gallery> 
     Customers.Save("d:\1.xml") 
    End Sub 

我能與來自LINQ查詢返回的混用局部值... 類似於下面的東西?

Public Sub CreateXml(ByVal **Col** As String, ByVal **Row** As String) 
     Dim db As New MDataContext 
     Dim Customers = <gallery columns="& **Col** &" rows="& **Row** &"> 
          <%= From customer In db.Customers _ 
           Select <customer> 
              <name><%= customer.CustName %></name> 
              <surname><%= customer.Surname %></surname> 
             </customer> %> 
         </gallery> 

     Customers.Save("d:\1.xml") 
     Process.Start("d:\1.xml") 
    End Sub 

回答

3

您應該能夠像使用customer.CustName和customer.Surname一樣嵌入兩個變量的值。

Public Sub CreateXml(ByVal cols As Integer, ByVal rows As Integer) 
    Dim db As New MDataContext 
    Dim Customers = <gallery columns="<%= cols %>" rows="<%= rows %>"> 
         <%= From customer In db.Customers _ 
          Select <customer> 
             <name><%= customer.CustName %></name> 
             <surname><%= customer.Surname %></surname> 
            </customer> %> 
        </gallery> 

    Customers.Save("d:\1.xml") 
    Process.Start("d:\1.xml") 
End Sub 

嚴格地說,你應該作出適當ToString()調用,例如<%= cols.ToString(CultureInfo.InvariantCulture) %>。通過這種方式,您可以確保更改不會引入任何不必要的裝箱,並且也與執行線程的文化無關,儘管後者對於Integer變量不會產生任何影響。

相關問題