主键不会在C#中自动增量实体框架

时间:2016-02-10 12:11:35

标签: c# entity-framework auto-increment

我有三个小模型类,虽然其中两个确实有效,但其中一个不是,我无法弄清楚原因。我找到了几个解决方案,但他们都没有帮助我。首先,在项目中使用了代码优先方法。

因此,主要问题是// show/hide where true/false show different things 'model.isSitting': { type: 'toggle', yes: '[data-hook=sitting]', no: '[data-hook=standing]' } 类中的PK未设置为自动增量值。我从Server Explorer中引用表并查看PK的属性。意识到其他两个类的PK属性被设置为CouponIs IdentityTrue而在Identity Increment = 1的PK属性中它们设置为CouponIs IdentityFalse设置为0。

我认为问题出现在那里,你可以找到我遇到问题的小型班。

Identity Increment

如果您需要更多信息,请向我询问。

谢谢!

1 个答案:

答案 0 :(得分:1)

没想到,但我发现解决方案是如此愚蠢。我的问题的解决方案只是重新添加密钥。起初,我不同意marc_s,因为我之前也尝试过重新添加。显然,当我第一次尝试重新添加时,我做错了。

我错误的是将int转换为string然后转换回int,而我没有触及实例的名称,即CouponId。 没有工作。然而,遗憾的是,我还必须更改实例的名称以使其工作。我将行public int CouponId更改为public string CouponName,然后转换回实际名称。现在它显示了预期的行为。

简单来说,简单的解决方案是更改变量和名称的键,并再次将它们更改为实际名称。那很简单。

顺便说一句,在执行这些操作时,请不要忘记更新每个步骤之间的迁移。所以工作流程就像Change->Update->Change Back->Update.

希望能帮助经历同样麻烦的其他人。