gpt4 book ai didi

.net - 使用具有 "Code First"模式的 Entity Framework 4.0 时,如何防止标识列上的自动递增

转载 作者:行者123 更新时间:2023-12-05 00:55:56 26 4
gpt4 key购买 nike

我正在定义 POCO,与 Entity Framework 4.0 的 Code First 功能一起使用。

但由于我的数据来自外部来源,并且我想保持标识列与外部来源的标识列相同,所以我想自己设置 ID。

我在调用 DbContext.Add() 和 context.SaveChanges() 之前在我的代码中设置了 ID,但是 ID 值被忽略并由 DB 列上定义的自动递增 (AI) 设置。

数据库是 mySQL,由 EF 自动生成。

有谁知道如何防止在 ID 列上创建 AI 属性,或明确设置实体 ID,尽管该列是以这种方式定义的?

编辑:我从@flem 得到的答案对我有用。但我也需要一个稍微不同的场景来工作:是否可以这样定义 POCO,当我设置值时它会使用它,而当我不设置时它会自动递增?根据this mySQL forum answer mySQL 应该可以很好地处理这种情况,但 Entity Framework 似乎并没有...

最佳答案

将数据库生成设置为无。

[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }

关于.net - 使用具有 "Code First"模式的 Entity Framework 4.0 时,如何防止标识列上的自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11612259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com