【问题标题】:EF Code First - how to set identity incrementEF Code First - 如何设置标识增量
【发布时间】:2012-07-03 04:05:46
【问题描述】:

这显示了如何设置身份种子。

EF Code First - how to set identity seed?

dataannotations set identity seed value on Primary Key with code first

如何先使用代码设置标识增量值?

【问题讨论】:

标签: entity-framework tsql ef-code-first


【解决方案1】:

没有办法。

配置实体(约定、属性、流畅的 API)的任何方法都不允许这样做。您既不能使用自定义约定来实现它(简而言之,自定义约定检查列的名称、属性、类型、包含类型或任何内容,然后使用流式 API 配置列或实体)。至少达到 EF 6.1.1。

在 SQL Server 中操作标识的唯一方法是使用 DBCC CHECKIDENT,但这仅允许更改种子值,而不是增量。

如果您想更改增量,您必须删除该列并在数据库初始化程序Seed 方法中再次创建它。问题是您必须删除并创建与此列相关的所有密钥(PK 或 FK)。 (这适用于 SQL Server 2014)

您可以查看at this answer,我在其中解释了可能的解决方案、替代方案和变通方法,哪些有效,哪些无效,以及投票链接以将其包含在未来的 EF 版本中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-23
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多