主键未在实体框架中递增

时间:2017-01-14 03:13:43

标签: c# mysql asp.net-mvc entity-framework

好的,所以这在我的应用程序中发生,它只允许我在我的数据库中有1个条目,然后抛出此错误:

Violation of PRIMARY KEY constraint 'PK__UserSess__23DB122B80549C92'. Cannot insert duplicate key in object 'dbo.UserSessions'. The duplicate key value is (0). The statement has been terminated.

主键不会像我以前经历的那样自动递增。

我尝试过更改物业" StoreGeneratedPattern"对于身份和所有我只是得到一个错误,说主键条目不能为空。

主键名为" sessionId"。这种情况发生在每个表中,每当我尝试向数据库添加新数据时,主键都不会自行递增,我是否必须手动递增它?我不认为我必须使用实体框架来做这件事。

            UserSession sess = db.UserSessions.Add(new UserSession
            {
                timeCreated = DateTime.Now,
                expirationTime = timeToExpire,
                userId = uc.userId,
                sessionHash = Security.generateSessionId(),
            });

            await db.SaveChangesAsync();

用户会话设计:

UserSessions Design

请有人解除我的愤怒,谢谢你。

1 个答案:

答案 0 :(得分:1)

很快解决了这个问题,但我以前从未使用过Entity Framework。

在数据库设计中,我不得不改变:

[sessionId] INT NOT NULL

以下内容:

[sessionId] INT NOT NULL IDENTITY (1,1)