0

我有一个名为Fruits. 在表中,我有 3 列:NameDateRemove

现在我插入了 3 行,其值类似于

Apple----20/10/12----N
Mango----21/12/12----Y
Banana--- 15/07/12----N
Grapes----18/12/12----Y

我想删除标记为“Y”的 2 行。

这是我想在 c# 代码中使用 Linq 来实现的。最初,我正在使用连接字符串建立与数据库的连接。我将获得设备上下文 DC,然后我将复制所有行。

现在我将枚举标记为的行N并调用remove。

一旦我删除,我会做:dc.deleteonSubmit<tableName>(var).

在此之后,我应该调用dc.submittsavechages();或使 DB 看起来像什么:

Mango----21/12/12----Y
Grapes----18/12/12----Y

如果我在 sql 查询分析器中查询,我应该得到以上结果。如何在 LINQ 中执行此操作?

4

2 回答 2

1

试试这个:

Dim dc as new DataClassesDataContext()

Dim deleteFruits = _
    From f In db.Fruits() _
    Where f.Remove _
    Select f

For Each fruit In deleteFruits
    db.Fruits.DeleteOnSubmit(fruit)
Next

Try
    db.SubmitChanges()
Catch ex As Exception
    Console.WriteLine(ex)
    ' Provide for exceptions
End Try
于 2012-10-19T16:24:57.393 回答
1

它可以做得更紧凑

db.Fruits.DeleteAllOnSubmit(db.Fruites.Where(f=>f.remove == "Y" )) 

try/db.SubmitChanges()部分保持不变。

于 2012-10-20T10:22:22.790 回答