如何使用LINQ to SQL更新给定ID的SQL行?
-
06-07-2019 - |
题
鉴于此架构:
Fruits
- FruitID INT PK
- FruitName NVARCHAR(30)
- FruitStatusID INT NULL FK: Statuses
Statuses
- StatusID INT PK
- StatusName NVARCHAR(30)
如果我手头有 FruitID
(只是一个int,而不是Fruit对象),如何更新 FruitName
并清空 FruitStatusID 代码>没有首先从数据库加载Fruit对象?
注意:此解决方案让我走得很远,但我无法弄清楚如何取消FK列。
C#或VB中的答案,谢谢!
解决方案
这有效但似乎不必要地复杂化:
''//initialize the values I'm going to null out to something
Dim Tag As Data_Tag = New Data_Tag() With {
.Data_Tag_ID = DataTagID,
.Last_Error_DateTime = New DateTime(),
.Last_Error_Message = "",
.Last_Error_Severity_Type_ID = -1 }
''//start change tracking
DB.Data_Tags.Attach(Tag)
''//record changes to these properties (must be initialized above)
Tag.Last_Error_DateTime = Nothing
Tag.Last_Error_Message = Nothing
Tag.Last_Error_Severity_Type_ID = Nothing
DB.SubmitChanges()
当然有更好的方法!
(注意:奇怪的注释语法仅适用于代码highliger - 它不喜欢VB风格的注释)
不隶属于 StackOverflow