Entity Framework Core - 设置主键时 [Key] 不起作用

问题描述 投票: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.