现在的位置: 首页 > 综合 > 正文

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

2012年02月25日 ⁄ 综合 ⁄ 共 315字 ⁄ 字号 评论关闭

目前.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);

抱歉!评论已关闭.