[asp.net]我可以在实体框架中创建此配置吗?

发布时间: 2017/3/26 0:21:03
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

苏这有助于与 ASP.NET MVC 中创建 web 应用程序

如何可以这数据库实体框架或我要改变这一概念?

TABLE order //Table for orders
Id int,
Person nvarchar(50),

TABLE meal //List of meals
Id int
Description nvarchar(50)

TABLE meal-order //Many-to-one  table with count of meals
IdOrder int,
IdMeal int,
Count tinyint

想法是︰ 我希望二阶意大利辣香肠,可口可乐和我的订单将被保存为︰

TABLE order
orderId, My Name 

TABLE meal (it has some stuff)
pepperoniId, Pepperoni
cokeId, Coke
hotDogId, Hot Dog

TABLE meal-order
orderId, pepperoniId, 2 (and here 2 is count of pepperoni I ordered)
orderId, cokeId, 1 (just one coke)

它是可能实现与计数器订餐表吗?如果它是很难,你可以提出另一个概念的表我的数据库?

解决方法 1:

这就是很多经典 Order - OrderDetail - Product 模型在哪里你 MealProductMealOrderOrderDetail 。我愿意称呼 MealOrder 实体/表 OrderDetail 因为这一事实,它具有对的引用 Meal 也许只是很多的属性。例如, OrderDetail 可能也有 Discount 属性不直接相关的饭菜,而时间时该订单已放置 ("30%的折扣在星期一所有饮料 !")。

实体模型可能看起来像这样︰

public class Order
{
    public int Id { get; set; }

    public string PersonName { get; set; } // the "Customer"
    // ... more properties

    // an order has many OrderDetails/meals
    public virtual ICollection<OrderDetail> Details { get; set; }
}

public class OrderDetail // your "order-meal"
{
    public int Id { get; set; }

    public int OrderId { get; set; }
    public virtual Order Order { get; set; }

    public int MealId { get; set; }
    public virtual Meal Meal { get; set; }

    public int Quantity { get; set; } // your Count

    // ...more properties like for example decimal Discount
}

public class Meal // the "Product"
{
    public int Id { get; set; }

    public string Description { get; set; }
    // ...more properties
}

你的问题中,会像速写数据库表。

官方微信
官方QQ群
31647020