好的,所以这在我的应用程序中发生,它只允许我在我的数据库中有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();
用户会话设计:
请有人解除我的愤怒,谢谢你。
答案 0 :(得分:1)
很快解决了这个问题,但我以前从未使用过Entity Framework。
在数据库设计中,我不得不改变:
[sessionId] INT NOT NULL
以下内容:
[sessionId] INT NOT NULL IDENTITY (1,1)