0

我有一个与之连接的网格和数据集对象。和使用 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);

比它会抛出异常,即不可能附加已经存在的项目。

问题将是在这种情况下如何正确附加项目。那应该可以解决问题。

4

2 回答 2

0

看起来这个问题没有正确的答案,或者没有办法做我需要的事情。

于 2012-11-05T23:12:34.750 回答
0

例外是因为您试图删除未跟踪的项目。

在 DeleteOnSubmit 之前按 ID 查找。

更多信息:

http://msdn.microsoft.com/en-us/library/bb386982.aspx

如何在 linq to sql 中删除?

于 2012-10-29T16:23:14.073 回答