EntityFrameworkcore.sqlite的主键数据注释不起作用

时间:2018-11-27 22:25:22

标签: uwp entity-framework-core primary-key data-annotations

我有一个UWP-Project,它收集一些数据,我想将它们保存到数据库中。 我使用EntityFrameworkcore sqlite创建了一个.net库。

im创建DBContext:

public class DBContext : DbContext
{
    public DbSet<MyModel> Model { get; set; }


    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source=MyModel.db");
    }
}

并且MyModel类包含以下代码:

public class MyModel
{
    [Key]
    public int Id;}

现在我从我的UWP-Project中仅调用DatabaseContext来存储我的数据:

    public static class DatabaseService
{
    public static void SaveToDb(DataList model)
    {
        using (var db = new DBContext())
        {
            foreach(var auction in model.auctions)
            {
                MyModel data = new MyModel() { Id = model.Id};
                db.Model.Add(data);
            }
            db.SaveChanges();
        }
    }
}

但是他仍然抱怨MyModel确实有一个PrimaryKey的定义。

我是否错过了一些识别PrimaryKey的键注释的东西?

1 个答案:

答案 0 :(得分:0)

键必须是属性,而不是字段。

public class MyModel
{
    [Key]
    public int Id {get;set;}
}