Rup*_*Rup 5 entity-framework entity-framework-4
当我们有一个自动递增ID列时,有没有办法在EF中强制新实体的ID值,即通过EF使用SET IDENTITY_INSERT行为?
我们的要求是,在填写或保存之前,我们的创建表单必须始终为空表单上创建的对象显示新的唯一ID.我们的想法是,可以通过电话向某人读取此ID,然后用户可以在呼叫完成后完成并保存表单.我们可以通过在数据库中插入一个空行来保留ID然后,但是我们有唯一的列和FK; 相反,我已经创建了一个"下一个ID"表,我们使用锁来增加安全性,并且我还要对照对象表中的顶部ID进行测试,这一点也要小心.我们的想法是在我们回写实体时强制使用这个新ID - 但我看不出如何让EF去做.
这是可能的 - 这只是我错过的东西吗?我认为ID甚至不会影响插入,所以我不认为在SaveChanges周围手动调用SET IDENTITY_INSERT会有所帮助.
或者我还需要做别的事吗?我可以看到替代方案:
谢谢!这是EF4(使用EDMX和生成的类而不是POCO),并且在重要的情况下针对SQL Server 2008.
为什么不使用 Guid 作为主键。与自动增量无关,没有并发陷阱等。您只需在创建表单时创建 Guid 即可。将其交给来电者并随后填写表格。当表格被取消时,没有问题。表单完成后,使用创建的 Guid 创建实体,设置实体对象的其他值,将其应用于 (a) 上下文和 SaveChanges()...
| 归档时间: |
|
| 查看次数: |
2573 次 |
| 最近记录: |