Первичные ключевые данные аннотации EntityFrameworkcore.sqlite не работают - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть проект UWP, собирающий некоторые данные, и я хочу сохранить их в базе данных.Я создал .net Libary с EntityFrameworkcore sqlite.

Я создаю 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-проект просто 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 голосов
/ 28 ноября 2018

Ключ должен быть свойством, а не полем.

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