我们有一个实体角色,标有 [DatabaseGenerated(DatabaseGeneratedOption.None)] 属性。到目前为止,我们已经使用种子将实体植入数据库。但是现在我们想要创建一个新页面来让用户添加/更新角色。将新的此类实体添加到数据库的正确方法是什么? 实体框架会自动执行此操作吗?或者我首先需要获取max id(一个简单的int列)并将其设置在新实体上?如果是这样,就并发性而言是否安全?是否有正确的方法来保证安全?
答案 0 :(得分:2)
如果您使用SqlBulkCopy类对数据进行播种,则可以使用数据库自动生成的ID,这样您就可以充分利用两者的优势(如果您播种的话,这也会更有效率数据)。
答案 1 :(得分:1)
Is there a right way to be concurrency safe?
由于您明确说明了
[DatabaseGenerated(DatabaseGeneratedOption.None)]
您禁用并发安全数据库 - 自动生成的ID(主键/标识)。
所以你的选择是:
实体框架在这里并没有多大帮助。 也许你可以详细说明为什么数据库生成的id被禁用了。