LINQ クエリを使用して、DataTable
オブジェクト内のデータを単純なIEnumerable
カスタム POCO オブジェクトに変換しています。
私の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
次のメッセージとともに警告メッセージをスローしています。
Option Strict On は、'Object' から 'System.Data.DataRow' への暗黙的な変換を禁止します。
このエラーが発生するのはなぜですか? また、修正するにはどうすればよいですか? dtMessages.Rows
type のコレクションを返すと思っていたでしょうDataRow
。これは正しくありませんか?