使用实体框架插入实体后,主键保持 null



我想使用以下命令将一个新条目插入到我的数据库中:

Repository<Fueltype, TankeeContext> repository = new Repository<Fueltype, TankeeContext>();
Fueltype fuel = new Fueltype() {
    Name = "Strom"
};
repository.Create(fuel);

这就是存储库的创建方法

 public void Create(T entity)
 {
     using (Ctx db = new Ctx())
      {
         db.Set<T>().Add(entity);
         db.SaveChanges();
      }
 }

我的问题是,在插入实体 Fueltype 并调用 SaveChanges() 方法后,ID (IdFuelType) 保持空,尽管它应该由实体框架更新。我的实体燃料类型如下所示:

public partial class Fueltype
    {
        public Fueltype()
        {
            Gasprice = new HashSet<Gasprice>();
        }
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public int IdFuelType { get; set; }
        public string Name { get; set; }
        public ICollection<Gasprice> Gasprice { get; set; }
    }

您应该设置 IdFuelType 的值或更改此行代码

[DatabaseGenerated(DatabaseGeneratedOption.None)]

[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 

请参阅以下链接

https://forums.asp.net/t/2080959.aspx?+Errors+DatabaseGenerated+DatabaseGeneratedOption+None+v+Key

相关内容

  • 没有找到相关文章

最新更新