如何为Entity Framework中的主键Entity属性设置特定值?

时间:2012-11-21 10:35:55

标签: entity-framework-4

我正在尝试创建一个新实体并将其保存回数据库但是我需要为ID列设置一个特定的值。然而,当我调用SaveChanges()并生成insert语句时,它会自动生成一个新的ID,尽管我在创建新的实体并将其添加到当前上下文时指定了一个值。

如果它有帮助,该列当前在SSDL和CSDL内容中都将StoreGeneratedPattern属性设置为“Identity”(我已在.edmx中以XML格式检查了这一点。)

有关为何会发生这种情况的任何想法吗?

1 个答案:

答案 0 :(得分:0)

如果您的媒体资源StoreGenerationPattern设置为Identity,则表示EF将始终在数据库中设置该值。你无法改变它。如果它工作,它还意味着您的数据库配置为自动为您生成ID。

如果要从应用程序设置值,则必须将StoreGeneratedPattern设置为None,并且数据库必须永远不会生成该值。您必须每次都设置唯一键值。