Могу ли я смешать значения из локальных данных со значениями, возвращенными из базы данных при использовании LINQ to SQL? - PullRequest
1 голос
/ 28 октября 2010

Я создаю XML-файл с помощью LINQ следующим образом ...

   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

1 Ответ

3 голосов
/ 28 октября 2010

Вы должны иметь возможность встраивать значения двух переменных так же, как вы делаете это с customer.CustName и customer.Sameame, например,

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.

...