我有一个与之连接的网格和数据集对象。和使用 LINQ 的数据层。所以我需要从 LINQ 数据源中删除网格中删除的元素。
我有一种方法可以将我的 DataRow 项转换为 LINQ 项。例如:
DataRow forDelete = ...;
LinqItem itemForDelete = ConvertFromDataRow(forDelete);
dataContext.DeleteOnSubmit(itemForDelete);
此代码引发异常,即无法删除未附加到表的项目。但是,如果我将其更改为
DataRow forDelete = ...;
LinqItem itemForDelete = ConvertFromDataRow(forDelete);
dataContext.Attach(itemForDelete)
dataContext.DeleteOnSubmit(itemForDelete);
比它会抛出异常,即不可能附加已经存在的项目。
问题将是在这种情况下如何正确附加项目。那应该可以解决问题。