再び私です:D
私はLINQを学んでいますが、やりたいことがあり、できなかったことがあります。Linq以外の他の解決策を提案しないでください。ありがとう。
Dim dtSong As DataTable = New DataTable("Songs")
dtSong.Columns.Add("ID", GetType(Guid))
dtSong.Columns.Add("Name", GetType(String))
dtSong.Columns.Add("Type", GetType(String))
dtSong.Columns.Add("AlbumID", GetType(Guid))
Dim dtAlbum As DataTable = New DataTable("Album")
dtAlbum.Columns.Add("ID", GetType(Guid))
dtAlbum.Columns.Add("Name", GetType(String))
Dim idsong, idalbum As Guid
idalbum = Guid.NewGuid()
dtAlbum.Rows.Add(idalbum, "Best of")
idsong = Guid.NewGuid()
dtSong.Rows.Add(idsong, "You are my sunshine", "Pop", idalbum)
idsong = Guid.NewGuid()
dtSong.Rows.Add(idsong, "twinkle twinkle", "Pop", idalbum)
idsong = Guid.NewGuid()
dtSong.Rows.Add(idsong, "you are my heart", "Rock", idalbum)
Dim query = From x In dtSong Join y In dtAlbum
On x.Field(Of Guid)("AlbumID") Equals
y.Field(Of Guid)("ID")
Where (x.Field(Of String)("Type") = "Pop")
Select New With
{
.Name = x.Field(Of String)("Name"),
.Type = x.Field(Of String)("Type"),
.Album = y.Field(Of String)("Name")
}
Dim dtnew As DataTable = query.CopyToDataTable
LINQクエリに何か問題があると思います。このクエリでCopyToDataTableを使用することは許可されていません。For Eachループを使用して結果を出力することはできますが、新しいDataTableが必要です。助けてくれてありがとう。英語が下手でごめんなさい。
L