我正试图访问比萨饼店#39;从控制器模型,但我得到以下错误 - (这在尝试添加OrderLine模型之前工作正常):
EntityType' Orderline'没有定义键。定义此EntityType的键。订单行: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; }
}
}
答案 0 :(得分:2)
如果我没记错的话,它必须是一个财产。
public class Orderline
{
[Key]
public int OrderlineId {get; set;}
[ForeignKey("PizzaId")]
public Pizza PizzaId {get; set;}
public decimal OrderlinePrice {get; set;}
}