通过Entity Framework将具有指定主键的记录插入MySQL

时间:2009-12-22 08:29:10

标签: mysql entity-framework primary-key

我们最近在项目中开始使用Entity Framework和MySQL。现在我正在编写数据访问级别的单元测试;为此,我创建了一个包含一些测试数据的数据库。

在Delete方法的测试方法中,我想首先删除指定的记录,然后再次插入,所有字段保持完全相同的值,包括设置为主键的Id列。目的是将测试数据保存在DB中。

但是当我插入以前删除的记录时,实体框架只是忽略实体的Id值,因此使用AUTO_INCREMENT生成新的Id。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您是否使用过insert ignore声明?

它可以帮助您强制插入具有指定值的pks。

答案 1 :(得分:0)

AUTO_INCREMENT意味着您无法设置Id值,句点。你不能这样做。

你应该做的是:

  1. 插入新行。
  2. SaveChanges()
  3. 现在读取对象的Id值,该值将从数据库中更新。
  4. 使用此Id值继续删除该行。