在Linq-to-SQL插入期间,何时可以使用自动增量主键值?

Hot*_*cks 2 c# linq-to-sql

主键列的自动生成值是否可以在其他时间之后InsertOnSubmit,之后SubmitChanges或其他时间访问?

Hab*_*bib 6

它可以在SubmitChanges通话后使用.

刚做了一个简单的测试.

DBDataContext db = new DBDataContext();
TestTable tb = new TestTable();
tb.Name = "Some Name";
db.TestTables.InsertOnSubmit(tb);

Console.WriteLine(tb.ID); //returned 0

db.SubmitChanges();
Console.WriteLine(tb.ID); //returned 1
Run Code Online (Sandbox Code Playgroud)

SubmitChanges返回0作为ID 之前,并在SubmitChanges返回递增的ID 之后.