我非常依赖LINQ业务的这种匿名类型。这是通过对前一个问题的答案进行处理的结果,但遗憾的是,我只是没有大脑的力量来完成这项工作。
我正在返回与每个人相关的有限事件列表。源是实体框架,我仍在努力从导航属性获得标准限制结果。以下代码是我对Nicholas Butler的回答。但是,我找不到任何适应匿名类型的方法。演员似乎不起作用 - 或者我只是没有线索(可能)。有人可以帮忙吗?
Dim test = context.persons.Where(Function (r) r.personActive).Select(Function (o) New With { _
.person = o, _
.events = o.events.Where( Function(e) e.eventDateTime > startdate) _
})
Dim Res = New ObservableCollection(Of person )
For Each person In test
Res.Add(person)
Next
给我:
错误2类型'<匿名类型>的值(第53行)'无法转换为'PersonEntity.person'。 E:\ Dropbox \ Work Experimental \ PersonEntity- Copy \ PersonEntity \ personRepository.vb 61 29 PersonEntity
我已经对这段代码有了进一步的了解,但是我仍然无法获得附加的事件,因为我在演员时遇到了另一个错误。通用列表到ObservableList显然不会转换。回答我原来的问题似乎是一种令人难以置信的方式!
Dim test = context.persons.Where(Function(r) r.personActive).Select(Function(o) New With { _
.person = o, _
.events = o.events.Where(Function(e) e.eventDateTime > startdate) _
})
Dim Res = New ObservableCollection(Of person)
For Each t In test
Dim r As New person
r = t.person
r.events = t.events
Res.Add(r)
Next
Return Res
答案 0 :(得分:1)
Function(o) New With { _
.person = o, _
.events = o.events.Where(Function(e) e.eventDateTime > startdate) _
}
这会返回匿名类型,而不是Person
。您的意思是Add
其person
属性*?
For Each o In test
Res.Add(o.person)
Next