2
A
回答
2
用于插入的实体的主键属性将在使用数据库中的ID调用SubmitChanges之后更新。
例:
using (var dc = new MyDataContext())
{
MyEntity entity = new MyEntity();
dc.MyEntities.InsertOnSubmit(entity);
dc.SubmitChanges();
int pkValue = entity.PKColumn
}
1
使用LINQ到SQL它会在自动保存,所以只看.Id
(或其他)任何更新IDENTITY(等)的性质。
知道它发生了:更新等事务发生在一个事务中;该交易必须承诺已经摆脱该方法而没有例外。如果你有一个外部TransactionScope
(或类似),那么它取决于你提交;总之 - 直到你确实承诺你有一个幻影记录。因此,请避免在任何地方传递该新ID,直到您承诺完成所有交易。
1
插入记录的标识应自动填充为插入添加到DataContext
的对象。只需检查该对象上的ID。
此外,你可以看看在DataContext
的GetChangeSet()
方法see what changes it has tracked如果要了解受影响的记录数等详细信息手册..