【发布时间】:2011-06-15 08:39:16
【问题描述】:
我正在创建一个 HashMap,将 DataTable 中行的 ID 字段映射到行本身,以缩短一些经常访问的表的查找时间。现在,我有时会收到 RowNotInTableException:
此行已从表中删除,并且没有任何数据。 BeginEdit() 将允许在该行中创建新数据。
在网上浏览了一下之后,似乎 DataRows 不喜欢不附加到 DataTable。即使 DataTable 保留在内存中(不确定 DataRows 是否保留对它的引用,但我肯定仍然在缓存它),是否有可能通过将这些行全部隔离在 HashMap 中来破坏某些东西?这个错误还有什么其他原因?这个帖子 RowNotInTableException when accessing second time 讨论了一个类似的问题,但也没有解决方案。
更新
如果这有什么不同的话,我实际上是在存储 DataRowViews。
【问题讨论】:
标签: c# asp.net ado.net datatable