MSSQL 到 VB.NET 的转换

MSSQL to VB.NET conversion

我正在研究一个将 T-SQL 过程转换为 VB.NET 代码的项目,我一直在考虑如何在 VB.NET 中编写一些整洁、干净的东西.

例如,这是 T-SQL :

insert into X(
 column1, 
 column2, 
 ....., 
 column100) 
select 
 column1, 
 column2, 
 ....., 
 column100 
 from Y 

如何将此语句转换为VB.NET?如果我使用字符串生成器,它会是这样的:

Dim sb As New StringBuilder()
With sb
    .Append("Insert into x(")
    .Append("column1,")
    .Append("column2,")
    .Append("...,")
    ......
End With

代码会太长。有没有更好的选择?

很抱歉,我没有把它作为 "comment" 的声誉,但根据我的经验,LINQ 在缩短 SQL 程序方面帮助了我很多。

https://msdn.microsoft.com/en-us/library/bb386946(v=vs.110).aspx

因为不幸的是,没有像 C# 中那样的逐字字符串文字,您可以在其中编写:

string insertSQL = @"
insert into X(
 column1, 
 column2, 
 ....., 
 column100) 
select 
 column1, 
 column2, 
 ....., 
 column100 
 from Y 
";

您可以使用 XML 文字来获得类似的行为:

Dim insertSQL As String = <![CDATA[ 
insert into X(
 column1, 
 column2, 
 ....., 
 column100) 
select 
 column1, 
 column2, 
 ....., 
 column100 
 from Y 
]]>.Value

冗长的经典方法是使用:

Dim insertSQL As String = "insert into X( " & vbCrLf &
                          "column1, " & vbCrLf &
                          "column2,  " & vbCrLf &
                          ".....,  " & vbCrLf &
                          "column100)  " & vbCrLf &
                          "select  " & vbCrLf &
                          "column1,  " & vbCrLf &
                          "column2,  " & vbCrLf &
                          ".....,  " & vbCrLf &
                          "column100  " & vbCrLf &
                          "from Y  "