我正在使用LINQ查询将DataTable
对象内的数据转换为自定义POCO对象的简单IEnumerable
。为什么编译器认为这是一个Object而不是DataRow?
我的LINQ查询:
Dim dtMessages As DataTable
'...dtMessages is instantiated ByRef in a helper data access routine... '
Dim qry = From dr As DataRow In dtMessages.Rows
Select New OutboxMsg With {
.ComputerID = dr(dcComputerID),
.MessageData = dr(dcMessageData),
.OutBoxID = dr(dcOutBoxID),
.OutBoxReceivedID = dr(dcOutBoxReceivedID),
.TrxDate = dr(dcTrxDate)
}
然而,编译dr As DataRow
下抛出一个警告消息,与消息:
选项严格On不允许从“对象”到“系统的隐式转换.Data.DataRow”。
为什么我得到这个错误,我需要做些什么来解决它?我原以为dtMessages.Rows
返回类型DataRow
的集合。这是不正确的?
显示dtMessages是如何声明和实例化的。 – bzlm 2010-08-02 14:42:42
@bzlm我更新了我的帖子,更多信息 – 2010-08-02 14:46:03
只需关闭'Option Strict'!我小子,我小子。 – Marc 2010-08-02 14:57:13