0
A
回答
0
在Linq中批量更新是不可能的,所以你必須選擇你想要更新的學生,遍歷他們,更新字段,然後提交你的數據上下文的變化。
(已經有一些嘗試獲取批量更新工作,例如this,但它沒有正式Microsoft支持。)
1
如果您正在使用LINQ to SQL,那麼你的類的Linq類應該有一個學生採集。
你應該能夠使用簡單的foreach循環來更新它們。完成更新後,只需在Data Context上調用SubmitChanges()。
2
DataContext dc = new DataContext();
foreach(var student in dc.Students.Where(SomeCondition))
{
student.SomeField = SomeValue;
student.SomeOtherField = SomeOtherValue;
}
dc.SubmitChanges();
0
正如他們所說批量更新不(容易)可能的,所以遍歷每個學生,並在同一時間更新一個可能是最好的解決方案。
This article確實想出了批量更新的方法,但它看起來比它的價值更麻煩。
0
假設你的等級和學生的表都有一個時間戳字段,修改,你可以試試這個:
Public Class ClassesConduit
Public Function SaveClasses(ByVal theseClasses As IEnumerable(Of [Class])) As Boolean
SaveClasses = False
Dim newClasses = theseClasses.Where(Function(c) c.Modified Is Nothing)
Dim updatedClasses = theseClasses.Where(Function(c) c.Modified IsNot Nothing)
Using db As New ClassesDataContext
db.DeferredLoadingEnabled = False
db.Classes.InsertAllOnSubmit(newClasses)
db.Classes.AttachAll(updatedClasses, True)
SaveStudents(theseClasses.SelectMany(Function(c) c.Students), db)
SaveClasses = (db.GetChangeSet.Inserts.Count + db.GetChangeSet.Updates.Count) > 0
Try
db.SubmitChanges()
Catch ex As Exception
Throw
End Try
End Using
End Function
Private Sub SaveStudents(ByVal theseStudents As IEnumerable(Of Student), ByRef db As ClassesDCDataContext)
Dim newStudents = theseStudents.Where(Function(s) s.Modified Is Nothing)
Dim updatedStudents = theseStudents.Where(Function(s) s.Modified IsNot Nothing)
db.Students.InsertAllOnSubmit(newStudents)
db.Students.AttachAll(updatedStudents, True)
End Sub
End Class
相關問題
- 1. 如何使用LINQ更新數據庫? Linq到SQL
- 2. 更新使用LINQ到SQL的錶行
- 3. 使用LINQ to SQL更新表?
- 4. 使用Linq-2-SQL插入和更新
- 5. LINQ to SQL更新
- 6. Linq更新到SQL
- 7. 如何使用SQL更新
- 8. 如何將Linq更新爲SqL?
- 9. 如何使用linq to sql進行多個更新?
- 10. 如何使用Linq-to-sql更新數據?
- 11. 如何使用Linq to SQL更新實體的某些字段?
- 12. 如何使用linq中的sql查詢更新列數據?
- 13. 如何使用LINQ to SQL類的PropertyChangedEventHandler進行即時更新?
- 14. Linq to Sql - 如何使用存儲庫模式更新對象?
- 15. 如何使用linq to sql一次更新多行?
- 16. 更新使用LINQ
- 17. 如何使用LINQ進行更新?
- 18. 如何使用linq更新對象?
- 19. 如何更新使用LINQ XML節點
- 20. 如何使用DetailsView更新Linq對象?
- 21. 如何使用LINQ更新XML節點?
- 22. Linq更新與SQL更新性能
- 23. 批量更新LINQ to SQL
- 24. LINQ到SQL更新標準
- 25. 的LINQ to SQL - 更新
- 26. Linq to SQL - 未能更新
- 27. Linq到SQL部分更新?
- 28. LINQ to SQL - 更新記錄
- 29. Linq to SQL更新數據
- 30. Linq to SQL,更新多行