我对LINQ很新,所以它仍然有点过头了。
使用几行VB,我将数据表从MS Access数据库复制到SQL Server数据库。我正在使用LINQ来识别传输数据的哪些部分是字符串和数字等,因此它将知道是否放置单引号。
现在我遇到了麻烦,因为有些字段是日期类型字段,我似乎无法让LINQ将它们识别为日期。这是简化的查询字符串:
Dim Itemarray = row.ItemArray.Select(Function(i) If(TypeOf i Is Date, "#" + i + "#", i.ToString))
VS正在抨击该行,其中包括
“无法从这些参数中推断出类型参数的数据类型 参数。明确指定数据类型可能会纠正此问题 错误“。
我也尝试使用DateAndTime
类型,它显示了同样的事情。但我没有看到任何其他可行的数据类型。
我错过了什么?
谢谢!
答案 0 :(得分:1)
TypeOf
用于对象。请改用VarType
:
Dim Itemarray = row.ItemArray.Select(Function(i) If(VarType(i) = VariantType.Date, "#" + i + "#", i.ToString))
请注意,我不熟悉VB.Net,一般只是VBA和VB,所以我可能错过了明显的事情。