C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■85913 / )  Re[9]: LINQ to SQL:
□投稿者/ ぬる (8回)-(2017/12/01(Fri) 09:21:06)
No85911 (WebSurfer さん) に返信
> ■No85910 (ぬる さん) に返信
>
>>ExecuteCommandは別トランになるんでしょうか。。。
>
> そのメソッドで即クエリが実行されて DB に結果が反映されるということから考えて
> そういう気がするだけです。確証はないですが、もし質問者さんの方でも曖昧という
> ことでしたら、検証して結果を教えていただけると幸いです。
>

以下の通り、ExecuteCommandの戻り値で確認しました。
一回目のDeleteの戻り値はゼロ、二回目は1でした。
Delete → Insert → Delete は1トランでできていると思います。

Using db = New SomeDataContext()

db.Connection.Open()
db.Transaction = db.Connection.BeginTransaction()

' 0
Dim count = db.ExecuteCommand("delete from Student where Id = 1")

' Insert
db.Student.InsertOnSubmit(New Student() With {.Id = 1, .Name = "a"})
db.SubmitChanges()

' 1
count = db.ExecuteCommand("delete from Student where Id = 1")

End Using

返信 編集キー/


管理者用

- Child Tree -