IDが指定されたSQL行をLINQ to SQLで更新するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/830335

質問

このスキーマを指定:

Fruits
 - FruitID       INT PK
 - FruitName     NVARCHAR(30)
 - FruitStatusID INT NULL FK: Statuses

Statuses
 - StatusID      INT PK
 - StatusName    NVARCHAR(30)

FruitID を持っている場合(Fruitオブジェクトではなくintのみ)、 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スタイルのコメントは好きではありません)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top