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
使用 attribute设置了主键[Key]
,但它不起作用。例外仍然存在。
如果我使用 Fluent API 来设置主键,它工作得很好。
modelBuilder.Entity<Order>(entity =>
{
entity.HasKey(t => t.Id);
});
为什么不起作用[Key]
?当我只想使用属性而不是流畅的API时,我该如何解决它?
也许尝试
{ get; set; }
添加Id
.