LINQ检索包含DataRowState.Deleted的数据集将引发异常

目前.NET Framework 3.5 LINQ查询的一个BUG了,在对DataTable进行删除操作之后使用LINQ表达式进行查询,它会检索RowState为DataRowState.Deleted的行记录,然后抛出DataRowState.Deleted记录不可访问的异常。在MS解决这个BUG之前,编程中应注意避免出错:

1.使用LINQ查询之前调用DataSet.AcceptChanges(),移除被标记为DataRowState.Deleted的记录;

2.使用Where方法过滤:

dt.Select(a => a.UserID).Where(a => a.RowState != DataRowState.Deleted);
posted @ 2008-11-15 06:22  Justina Chen  阅读(497)  评论(0编辑  收藏  举报