实体框架核心版本是7.0.10.从数据库获取数据时,即使我已经在MODEL类中设置了主键,它也没有抛出任何主键异常.

实体类型‘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]设置了主键,但它不起作用.例外情况仍然存在.

如果我使用流畅的API设置主键,它工作得很好.

modelBuilder.Entity<Order>(entity =>
{
    entity.HasKey(t => t.Id);
});

为什么[Key]不起作用?当我只想使用属性而不是流畅的API时,如何才能解析它?

推荐答案

也许可以试着在Id的基础上加{ get; set; }.

Asp.net相关问答推荐

在哪里可以记录 ASP.NET Core 应用程序的启动/停止/错误事件?

如何异步渲染局部视图

.NET 站点如何隐藏其文件的 .aspx 扩展名?

等待本地主机,永远!

如何使图像的一部分成为可点击的链接

从 GUID 中删除破折号是个好主意吗?

如何确定 web.config 中的编译 debug="true"

使用 Elmah 处理 Web 服务中的异常

Request.Params 和 Request.Form 什么时候不同?

Web Api 请求内容在操作过滤器中为空

您对 Windows Workflow Foundation 有何体验?

如何将 Web 应用程序项目转换为类库项目

使用 JObject 所需的库名称是什么?

等价于 ASP.NET Core 中的 Html.RenderAction

如何在 ASP.NET 中获取原始请求正文?

ASP.NET 元:资源键

对于 DB ID,需要一个较小的 GUID 替代方案,但对于 URL 仍然是唯一且随机的

如何调试 w3wp clr.dll 错误

您的下一个 ASP.NET 项目的 Select 是什么:Web 窗体还是 MVC?

jQuery Ajax 调用 - 成功设置变量值