所以我试图防止应用程序之间的竞争条件。
使用 IsolationLevel/TransactionScope,我可以按我需要的方式锁定表,但需要先运行更新操作,然后对修改的对象列表进行操作。
为此,我需要运行更新并一次性获取更新的 ID 列表。
如果我先尝试获取 ID,则不会锁定表,并且另一个应用程序实例可以在它们被标记之前查询相同的列表。
有没有办法做类似的事情:
//modify some objects
var updatedIds = context.SaveChanges();
//Process updatedIds
有没有办法做到这一点?我试过查看 ObjectContext 条目,但在 Save 之后似乎什么都没有。
也许我必须做一个sproc?