EntityFrameworkcore.sqlite 的主键数据注释不起作用
Primary Key Data Annotation of EntityFrameworkcore.sqlite is not working
我有一个 UWP 项目正在收集一些数据,我想将它们保存到数据库中。
我用 EntityFrameworkcore sqlite 创建了一个 .net 库。
我正在创建 DBContext:
public class DBContext : DbContext
{
public DbSet<MyModel> Model { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=MyModel.db");
}
}
而 MyModel class 包含以下代码:
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 没有定义主键。
我是否遗漏了一些正在识别主键的键注释的东西?
键必须是 属性,而不是字段。
public class MyModel
{
[Key]
public int Id {get;set;}
}
我有一个 UWP 项目正在收集一些数据,我想将它们保存到数据库中。 我用 EntityFrameworkcore sqlite 创建了一个 .net 库。
我正在创建 DBContext:
public class DBContext : DbContext
{
public DbSet<MyModel> Model { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=MyModel.db");
}
}
而 MyModel class 包含以下代码:
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 没有定义主键。
我是否遗漏了一些正在识别主键的键注释的东西?
键必须是 属性,而不是字段。
public class MyModel
{
[Key]
public int Id {get;set;}
}