实体框架 – 行插入顺序实体框架
发布时间:2020-12-12 16:31:44 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用事务在多个表中插入多行.对于这些行,我想按顺序添加这些行.调用SaveChanges后,所有行都将按顺序插入. 当不使用事务并保存更改后,每次插入确实保持顺序,但我真的需要一个所有条目的事务. 解决方法 实体框架中的订单插入/更新和删除取决于实体框架中
我正在使用事务在多个表中插入多行.对于这些行,我想按顺序添加这些行.调用SaveChanges后,所有行都将按顺序插入.
当不使用事务并保存更改后,每次插入确实保持顺序,但我真的需要一个所有条目的事务. 解决方法实体框架中的订单插入/更新和删除取决于实体框架中的许多内容.例如,如果您在新类别中插入新产品,我们必须在产品之前添加类别. 这意味着如果您有一大组更改,那么我们必须首先满足当地的排序限制,而且这正是我们所做的. 在上下文中执行操作的顺序可能与这些规则相冲突.例如,如果你这样做: ctx.AddToProducts( new Product{ Name = "Bovril",Category = new Category {Name = "Food"} } ); 效果是产品首先添加到(上下文),然后当我们走图时,我们添加类别. 即在上下文中的插入顺序是: Product Category 但是由于引用完整性约束,我们必须重新排序,然后再尝试插入数据库: Category Product 所以这种当地的重新排序是不可协商的. 但是,如果没有这样的本地依赖,您可以理论上保留排序.不幸的是,我们目前没有跟踪“什么时候”的内容,为了效率,我们不跟踪实体,以保持结构像列表.因此,我们目前无法保留无关插入的顺序. 不过,我们最近正在辩论这个问题,所以我很想看看这对你来说至关重要 希望这可以帮助 亚历克斯 项目经理实体框架小组 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |