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; }
}
}
如果我记忆正确,它必须是一个属性。
public class Orderline
{
[Key]
public int OrderlineId {get; set;}
[ForeignKey("PizzaId")]
public Pizza PizzaId {get; set;}
public decimal OrderlinePrice {get; set;}
}