我正在尝试创建一个新实体并将其保存回数据库但是我需要为ID列设置一个特定的值。然而,当我调用SaveChanges()并生成insert语句时,它会自动生成一个新的ID,尽管我在创建新的实体并将其添加到当前上下文时指定了一个值。
如果它有帮助,该列当前在SSDL和CSDL内容中都将StoreGeneratedPattern属性设置为“Identity”(我已在.edmx中以XML格式检查了这一点。)
有关为何会发生这种情况的任何想法吗?
答案 0 :(得分:0)
如果您的媒体资源StoreGenerationPattern
设置为Identity
,则表示EF将始终在数据库中设置该值。你无法改变它。如果它工作,它还意味着您的数据库配置为自动为您生成ID。
如果要从应用程序设置值,则必须将StoreGeneratedPattern
设置为None
,并且数据库必须永远不会生成该值。您必须每次都设置唯一键值。