Entity Framework Core 版本是 7.0.10。从数据库获取数据时,即使我已经在模型类中设置了它,它也不会抛出主键异常。
实体类型“Order”需要定义主键。
这是代码。
[Table("xxxTable")]
public class Order
{
[Key]
[Column("ID")]
public int Id;
public string Name { get; set; }
}
//Here is the method to get data from database
public async Task<Order> GetOrdersByDay(int days)
{
Order r = await this._dbContext.Orders.FirstOrDefaultAsync();
return r;
}
我已经在类
Order
中使用属性[Key]
设置了主键,但它不起作用。异常仍然存在。
如果我使用 Fluent API 来设置主键,则工作正常。
modelBuilder.Entity<Order>(entity =>
{
entity.HasKey(t => t.Id);
});
为什么
[Key]
不起作用?当我只想使用属性而不是 Fluent API 时,我该如何解决它?
也许尝试为
{ get; set; }
添加
Id