我有一个名为Fruits
的表的数据库。在表格中,我有3列:Name
,Date
,Remove
。
现在我插入了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。最初我使用连接字符串建立与DB的连接。我将获得设备上下文DC,并且我将复制所有行。
现在我将枚举标记为N
的行,我将调用remove。
删除后,我会执行:dc.deleteonSubmit<tableName>(var).
在此之后,我应该致电dc.submittsavechages();
或者让DB看起来像什么:
Mango----21/12/12----Y
Grapes----18/12/12----Y
如果我在sql查询分析器中查询,我应该得到以上结果。如何在LINQ中执行此操作?
答案 0 :(得分: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
答案 1 :(得分:1)
可以做得更紧凑
db.Fruits.DeleteAllOnSubmit(db.Fruites.Where(f=>f.remove == "Y" ))
try/db.SubmitChanges()
部分保持不变。