簡體   English   中英

將LINQ結果轉換為字符串VB.NET

[英]Converting LINQ Result to String VB.NET

我有一個模塊可以正確提取Linq查詢並將其寫入文本文件。 我只需要知道如何將其轉換為實際的字符串值即可。 謝謝。

 Imports System.IO

 Module CheckExists

Public objStreamWriter As StreamWriter

Public Function SimpleQ4()

    Dim dc As New DatabaseDataContext

    Dim q = _
        From a In dc.GetTable(Of tblDealer)() _
        Where a.chvDealerName = "Something" _
        Select a

    Return q.ToString

    objStreamWriter = New StreamWriter("path.txt")

    objStreamWriter.WriteLine(q)

End Function

 End Module

這是在myt文本文件中返回的

 SELECT [t0].[iD], etc....
Public Function SimpleQ4()
    Dim dc As New DatabaseDataContext
    Dim q = _
        From a In dc.GetTable(Of tblDealer)() _
        Where a.chvDealerName = "Something" _
        Select New With
        {
            myFirstColumn = a.columnName,
            mySecondColumn = a.anotherColumnName,
            ...
        }

    objStreamWriter = New StreamWriter("path.txt")
    objStreamWriter.WriteLine(q)
End Function

LINQ查詢將沒有數據,直到流寫入器由於LINQ推遲執行而真正開始寫入數據為止。

在花括號內,您正在創建匿名類型。 您想要屬性的每一列都將在等號的左側。 如果您不想創建和映射所有列,請改用以下方法:

        From a In dc.GetTable(Of tblDealer)() _
        Where a.chvDealerName = "Something" _
        Select a

如果需要查看查詢的內容,請在創建流編寫器之前在行上添加q.ToList()

以下代碼有效

  Public Sub textFile()

    Dim ddc As New DatabaseDataContext

    Dim q = _
    (From a In ddc.GetTable(Of Table)() _
            Where a.Name = "Something" _
            Select a.Name).ToList

    For Each item In q
        objStreamWriter.WriteLine(item)
    Next

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM