Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
動的LINQ
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=26997#CommentId72787
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
CnCnSf
 (社会人)
投稿日時
2016/2/14 13:02:59
いつも拝見させていただいており、
大変お世話になっています。
開発環境は、
VB2010(.NET Framework4.0)です。
DataTable変数からデータを抽出するLINQ文について。
このLINQ文で動的にwhere句を組み立てたいです。
たとえば、以下のLINQは、
ID列が、001 もしくは002のレコードを抽出するものですが。
このwhere句の部分を動的に組立てたいです。
具体的には、以下 LINQ文の、
MstTbl.Field(Of String)("ID") = "xxx" の条件を
動的に、ORで、n個つなげたいです。
Dim MstDtTbl As DataTable = New DataTable
MstDtTbl.Columns.Add("ID")
MstDtTbl.Columns.Add("NAME")
MstDtTbl.Columns.Add("DESC")
MstDtTbl.Rows.Add("001", "ライオン", "肉食")
MstDtTbl.Rows.Add("002", "チーター", "足早い")
MstDtTbl.Rows.Add("003", "キリン", "首が長い")
MstDtTbl.Rows.Add("004", "コアラ", "オーストラリア")
MstDtTbl.Rows.Add("005", "タカ", "空飛ぶ")
Dim Query = _
From MstTbl In MstDtTbl.AsEnumerable() _
Where MstTbl.Field(Of String)("ID") = "001" _
Or MstTbl.Field(Of String)("ID") = "002" _
Select New With _
{ _
.NAME = MstTbl.Field(Of String)("NAME"), _
.DESC = MstTbl.Field(Of String)("DESC") _
}
Dim SelDtTbl As DataTable = New DataTable
SelDtTbl.Columns.Add("NAME")
SelDtTbl.Columns.Add("DESC")
For Each Qry In Query
SelDtTbl.Rows.Add(Qry.NAME, Qry.DESC)
Next