我使用Entity Framework连接到PostgreSQL。
检索数据时,一切正常,迁移工作也很顺利,问题出在数据插入过程中。
我认为由于ID不是自动生成的,但由于我是Entity Framework的新手,我不知道如何继续前进。
这是我的AddUser
功能:
public Task<EntityEntry<UserModel>> AddUser(UserModel user) => this.context.Users.AddAsync(user);
这是相应的模型类:
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace WishareIntegrationApi.Entities
{
public class UserModel
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string token { get; set; }
public string displayName { get; set; }
public string photoURL { get; set; }
public string email { get; set; }
public DateTime registeredAt { get; set; }
public string birthday { get; set; }
}
}
当我手动将数据添加到表中并填写ID时,它将插入数据,如果ID不是插入查询的一部分,即使它应该是auto_increment也会失败。
使用迁移从代码生成数据库。
有什么想法吗?
答案 0 :(得分:0)
正如Evk所说,我缺少对SaveChanges函数的调用。