IDが指定されたSQL行をLINQ to SQLで更新するにはどうすればよいですか?
-
06-07-2019 - |
質問
このスキーマを指定:
Fruits
- FruitID INT PK
- FruitName NVARCHAR(30)
- FruitStatusID INT NULL FK: Statuses
Statuses
- StatusID INT PK
- StatusName NVARCHAR(30)
FruitID
を持っている場合(Fruitオブジェクトではなくintのみ)、 FruitName
を更新して FruitStatusID をnullにする方法code>最初にデータベースから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