我在VB.NET中有以下LINQ查询
Using db As New ReablementLSQLDataContext
query = (From b In db.Visits
Join c In db.LinkStaffToVisits On b.ID Equals c.VisitID
Where c.StaffID = staffid And b.StartEpoch = newepochdatetime).ToList()
End Using
当我运行它时,它返回一个匿名类型列表,这意味着如果我想访问其中的任何数据,它就没用了。如何运行此join语句并返回具体类型的列表?
答案 0 :(得分:3)
作为查询结果的匿名类型不是那么“无用”,因为你总是foreach
对它们(本地)。但是,如果你想要一个具体的类型,你可以在最后添加一个select语句并将匿名结果投射到你的类型中(假设你做了这个类型并知道在哪里使用哪些字段),比如(C#语法)
var newQuery = query.Select(anon_x => new YourType(anon_x.field1, anon_x.field2, ...))
答案 1 :(得分:1)
您可以使用ToList
方法的通用版本。我是C#
开发人员,可以提供与C#
相关的语法:
.ToList<YourType>();
对于VB.Net
版本,请阅读:http://msdn.microsoft.com/en-us/library/bb342261.aspx#Y0