首页 > 解决方案 > 实体框架中的插入顺序不正确或随机

问题描述

我正在寻找一种允许您按创建顺序将记录插入数据库的解决方案。
到目前为止,我发现 ef 不支持此类活动的信息。
如何解决这个问题?
我打开了自动增量,所以我不能为新记录提供一个 id(或者至少我认为是这样)

以下示例从下到上或随机写入 db。

var subcategories = new List<Subcategory>()
            {
                new Subcategory { SubcategoryName = "This should be first", CategoryId = 1 },
                new Subcategory { SubcategoryName = "Second", CategoryId = 1 },
                new Subcategory { SubcategoryName = "Third", CategoryId = 2 },
                new Subcategory { SubcategoryName = "Fourth", CategoryId = 2 },
                new Subcategory { SubcategoryName = "LastOne", CategoryId = 3 }
            }

context.Subcategories.AddRange(subcategories);
context.SaveChanges();

标签: .netentity-framework

解决方案


我正在寻找一种解决方案,允许您以正确的顺序将记录插入数据库。

要控制顺序,请在添加每个实体后调用 SaveChanges()。您可以将所有调用包装在一个事务中以优化性能。


推荐阅读