我很喜欢这种来自 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