2009-04-07 10 views
4

Linq-To-SQL DataContextを使用してテーブル内のレコードを追加および変更するコードがあります。linq-to-sql DataContextからInsertOnSubmit'dレコードのリストにアクセスできますか?

私はInsertOnSubmitでいくつかのレコードを追加した後、レコードを変更したいという状況に遭遇しましたが、このレコードはすでにテーブルに入っているかもしれませんし、私のものかもしれません挿入する。したがって、この:私は実際にはまだWhichIdのIDを持つレコードを挿入していない可能性がありますので、

db.MyTable.Single(t => t.Id == WhichId).Name="foobar"; 

は、動作しない場合があります。

SubmitChanges()私がやろうとしていることすべてをやるまでは本当に欲しくない。

DataContextは、SubmitChanges()に挿入するレコードのリストを保持する必要があります - そのリストにアクセスできますか?私は次のようなことを考えています:

(db.MyTable.SingleOrDefault(t => t.Id == WhichId) ?? 
db.[list of records to be inserted].Single(t => t.Id == WhichId) 
).Name="foobar"; 

私はこれらの角括弧がどこにあるのでしょうか?

答えて

5
db.GetChangeSet().Inserts 
+0

私のgoogle-fuは弱体化している必要があります。ありがとう! – Blorgbeard