0

我在 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

当我运行它时,它会返回一个匿名类型的列表,这意味着如果我想访问其中的任何数据,它就毫无用处。如何运行此连接语句并返回具体类型的列表?

4

2 回答 2

3

作为查询结果的匿名类型并不是那么“无用”,因为您总是foreach可以(本地)覆盖它们。不过,如果你想要一个具体的类型,你可以在最后添加一个 select 语句并将匿名结果投影到你的类型中(假设你创建了这个类型并且知道在哪里使用哪些字段),比如(C# 语法)

var newQuery = query.Select(anon_x => new YourType(anon_x.field1, anon_x.field2, ...))
于 2012-04-25T09:25:23.533 回答
1

您可以使用通用版本的ToList方法。我是一名C#开发人员,可以提供与以下相关的语法C#

.ToList<YourType>();

VB.Net阅读版本: http : //msdn.microsoft.com/en-us/library/bb342261.aspx#Y0

于 2012-04-25T09:22:48.277 回答