设置主键时KeyAttribute属性不起作用

问题描述 投票:0回答:1

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 时,我该如何解决它?

asp.net entity-framework asp.net-core entity-framework-core ef-fluent-api
1个回答
0
投票

也许尝试为

{ get; set; }
 添加 
Id

© www.soinside.com 2019 - 2024. All rights reserved.