我有一个正确拉出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....
答案 0 :(得分:0)
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()
。
答案 1 :(得分:0)
以下代码可以使用
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