使用PostgreSQL的实体框架不保存数据

时间:2018-03-18 14:58:16

标签: c# postgresql entity-framework

我使用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也会失败。

使用迁移从代码生成数据库。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

正如Evk所说,我缺少对SaveChanges函数的调用。