Emd*_*dot 5 linq-to-entities entity-framework
背景:我正在设计一个类似列表的控件(WinForms),它由DbSet. 主要要求是它不会将整个列表加载到本地内存中。我使用DataGridView虚拟模式作为底层 UI。我计划将该功能实现CellValueNeeded为orderedQueryable.ElementAt(n).
问题:我需要允许控件的使用者按值而不是按索引获取/设置当前选定的值。获取很容易——它与 CellValueNeeded 操作相同——但设置更困难:它要求我获取给定元素的索引。没有内置orderedQueryable.FirstIndexOf(value)操作,虽然理论上我可以用某种orderedQueryable.SkipWhile表达式具有副作用的恶作剧来伪造它,但实际上 DbSet 的查询提供程序可能不支持这样做。
问题:是否有一种有效的方法来获取 an 中特定值的索引IOrderedQueryable?如何?
(如果这种方法被证明是站不住脚的,我会接受关于如何重组问题以使其可以解决的建议。)
旁注:可以在列表中插入和删除元素,在这种情况下,旧索引将无效——这是可以接受的,因为它们永远不会暴露给消费者。对于消费者来说,尝试选择实际上不在列表中的项目是错误的,实际上消费者首先会从列表中获取该项目(尽管索引可能从那时起已经发生了变化)。
| 归档时间: |
|
| 查看次数: |
1665 次 |
| 最近记录: |