EF Code First - 播种数据顺序更改

时间:2015-04-21 00:22:05

标签: entity-framework ef-code-first

我想知道为什么在EF Code First中播种数据时,它会以不同的(随机)顺序在数据库中以其添加到上下文中的方式结束。

假设我有一些类别数据并且在播种期间观察context.Categories.Local我可以看到它是按此顺序:

  • 第1类
  • 第2类
  • 第3类
  • 第4类

然而,在代码运行之后,它最终会在数据库中结束,如

  • 第3类
  • 第2类
  • 第4类
  • 第1类

会有什么变化?无论如何要保持一定的顺序吗?

修改: 订单不是随机的。它只在有关系时改变顺序。即只有一些类别有与之相关的问题。看起来好像EF首先在问题中插入记录。

 new Category()
            {
                Name = "Category 1",
                CategoryQuestions = new List<CategoryQuestion>() {
                    new CategoryQuestion() {Question = "Question 1"},
                    new CategoryQuestion() {Question = "Question 2"}
                }
            }

谢谢,

1 个答案:

答案 0 :(得分:0)

实际上并非随机。它仅在存在关系且仅链接某些模型时才更改顺序。即只有一些类别有与之相关的问题。看起来好像EF首先在问题中插入记录。

<util:XmlConfig 
                  Id="xml.SetMYPassword"
                  Action="create"
                  ElementPath="/configuration/DataReport/Password"
                  Node="value"      
                  Value="[MY_PASSWORD]"
                  File="[#MyService]"
                  On="install"
                  PreserveModifiedDate="yes"
                  Sequence="1" />

第2类将首先出现在数据库中。