C# 如何为购物车设计数据库

C# 如何为购物车设计数据库,c#,C#,我想设计一个产品网站使用MVC和实体框架 目前我有两种产品类型的产品 产品将按重量出售 将以盒装出售的产品 我创建了以下类: public class Products { public int ProductId { get; set; } public string ProductName { get; set; } public int ProductCatagoryID { get; set; } } public class DryFruits : Produ

我想设计一个产品网站使用MVC和实体框架

目前我有两种产品类型的产品

  • 产品将按重量出售
  • 将以盒装出售的产品
  • 我创建了以下类:

    public class Products
    {
        public int ProductId { get; set; }
        public string ProductName { get; set; }
        public int ProductCatagoryID { get; set; }
    }
    
    public class DryFruits : Products
    {
        public decimal WeightInGrams { get; set; }
        public decimal RatePerGram { get; set; }
    }
    
    public class DryFruitsPacks : Products
    {
        public string PackName {  get; set;  }
        public decimal PackSize { get; set; }
        public decimal RatePerGram { get; set; }
    }
    
    当我尝试创建数据库时,我很困惑是否需要创建3个表


    首先,请提供帮助。在进行编码之前,您应该设计适当的数据库表。根据您的场景,您可以选择三个选项。选择权在你

    你可以拿出如下三张桌子

    Products{ProductId,ProductName, ProductCatagoryID}
    DryFruits{Id,ProductId,RatePerGram}
    DryFruitsPacks{Id,PackName,PackSize, RatePerGram}
    
    或者,您可以使用以下两个表来实现这一点

    DryFruits{ProductId,ProductName,ProductCatagoryID,WeightInGrams,RatePerGram}
    DryFruitsPacks{ProductId,ProductName,ProductCatagoryID,PackName,PackSize,RatePerGram}
    
    Products{ProductId,ProductName, ProductCatagoryID,Id,ProductId,RatePerGram,Id,PackName,PackSize, RatePerGram}
    
    或者,您也可以使用下面的一张表来完成

    DryFruits{ProductId,ProductName,ProductCatagoryID,WeightInGrams,RatePerGram}
    DryFruitsPacks{ProductId,ProductName,ProductCatagoryID,PackName,PackSize,RatePerGram}
    
    Products{ProductId,ProductName, ProductCatagoryID,Id,ProductId,RatePerGram,Id,PackName,PackSize, RatePerGram}
    

    是的,对于这种设计,我将使用三张桌子。尽管你可以将每克费率移动到产品中。通常,您可以使用诸如NHibernate之类的ORM根据类结构设计自己的模式