EntityType:EntitySet';订单行';基于类型';订单行';没有定义键

本文关键字:单行 定义 类型 EntitySet EntityType 于类型 | 更新日期: 2023-09-27 17:59:13

我试图从控制器访问"Pizza"模型,但收到以下错误-(在尝试添加OrderLine模型之前,这很好):

EntityType"Orderline"未定义键。定义此EntityType的键。Orderlines:EntityType:EntitySet"Orderlines"基于类型"Orderline",该类型未定义键

我一直看到问题是添加[Key],但我已经这样做了。

披萨:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Pizza.Domain.Entities
{
    public class Pizza
    {
    [Key]
    public int PizzaId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public decimal Price { get; set; }
    public string Size { get; set; }
    public string Status { get; set; }
    }
}

订单行

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PizzaShop1.Domain.Entities
{
public class Orderline
{
    [Key]
    public int OrderlineId;
    [ForeignKey("PizzaId")]
    public Pizza PizzaId;
    public decimal OrderlinePrice;
}
}

DbContext

namespace Pizza.Domain.Concrete
{
    public class EFDbContext : DbContext
    {
        public DbSet<Pizza> Pizzas { get; set; }
        public DbSet<Orderline> Orderlines { get; set; }
    }
}

EntityType:EntitySet';订单行';基于类型';订单行';没有定义键

如果我记忆正确,它必须是一个属性。

public class Orderline
{
    [Key]
    public int OrderlineId {get; set;}
    [ForeignKey("PizzaId")]
    public Pizza PizzaId {get; set;}
    public decimal OrderlinePrice {get; set;}
}