共用方式為


異動支援

LINQ to SQL 支援三種不同交易模型。 以下按照執行檢查的順序列出這些模型。

明確本機異動

呼叫 SubmitChanges 後,如果 Transaction 屬性已設為 (IDbTransaction) 交易,則會在相同交易的情況下執行 SubmitChanges 呼叫。

順利執行異動後,您必須負責認可或復原此異動。 對應至此交易的連接必須符合用於建構 DataContext 的連接。 如果使用不同的連接,則會擲回例外狀況。

明確可散發異動

您可以在使用中的 Transaction 範圍內呼叫 LINQ to SQL API (包含但不限於 SubmitChanges)。 LINQ to SQL 會偵測到該呼叫在交易的範圍內,而不會建立新交易。 LINQ to SQL 在此情況下也會避免關閉連線。 您可以在此種異動的情況中執行查詢和 SubmitChanges 執行。

隱含交易

當您呼叫 SubmitChanges 時,LINQ to SQL 會檢查此呼叫是否在 Transaction 的範圍內,或者 Transaction 屬性 (IDbTransaction) 是否設為使用者啟動的本機交易。 如果兩種交易都找不到,LINQ to SQL 會啟動本機交易 (IDbTransaction),並用來執行所產生的 SQL 命令。 當所有 SQL 命令都成功完成後,LINQ to SQL 會認可本機交易並傳回結果。

另請參閱