【问题标题】:Seeding database Entity Framework 6播种数据库实体框架 6
【发布时间】:2014-04-30 04:27:22
【问题描述】:

我正在使用 Entity Framework 6 并为测试数据库创建种子数据。一切正常,除了一个问题。

我的一些类在将对象添加到列表之前会检查重复的 ID。这是一个典型的模式:

   private Assignment FindAssignment(VideoCourse course) {
        Assignment assignment = assignments.Find(x => x.Course.Id == course.Id);
        if (assignment == null) {
            assignment = new Assignment(this, course);
            assignments.Add(assignment);
        }
        return assignment;
    }

这在我的种子覆盖中失败(我不能添加超过一门课程),因为 course.Id 对于所有课程来说都是 0,直到它们被保存到数据库中。

我尝试在代码中的多个位置调用SaveChanges(),但这确实与上下文混淆并导致其他对象未保存。

那么问题是——如何将对象保存到数据库中以便设置它们的 ID?

【问题讨论】:

    标签: entity-framework


    【解决方案1】:

    事实证明,解决该问题的最简单方法是在代码中为对象分配 ID,而不是等待数据库执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 2014-04-20
      • 1970-01-01
      相关资源
      最近更新 更多