1

我需要创建一个价格表系统,所以我将在我的数据库中创建这三个表。

  • 定价表(ID, Name, ServiceID, Style)
  • 定价表套餐(ID, PricingTable_ID, Title, Price, PricePerTime, Info, Flag, Link)
  • 定价表包功能(ID, PricingTablePackages_ID, Feature, Value, MoreInfo)

在这里,一个PriceTable可以容纳多于一个PricingTablePackages,一个PricingTablePackage可以容纳多个多于一个PricingTablePackagesFeature

有什么方法可以设计出更好的模型吗?在单个数据库表中?

我将为这些表创建一个 MVC3 模型,那么在 MVC3 模型中执行这种数据库表的最佳方法是什么?

4

1 回答 1

1

当您使用实体框架需要它们时,我会使用公共虚拟变量来“延迟加载”值:

(变量类型可能会关闭,具体取决于您对每个变量的确切要求)

public class PricingTablePackages
{
    public int ID { get; set; }

    public int PricingTableID { get; set; }

    public virtual PricingTable PricingTable { get; set; }

    public string Title { get; set; }

    public decimal Price { get; set; }

    public decimal PricePerTime { get; set; }

    public string Info { get; set; }

    public bool Flag { get; set; }

    public string Link { get; set; }
}

public class PricingTablePackagesFeatures
{
    public int ID { get; set; }

    public int PricingTableID { get; set; }

    public virtual PricingTable PricingTable { get; set; }

    public string Feature { get; set; }

    public string Value { get; set; }

    public string MoreInfo { get; set; }
}

public class PricingTable
{
    public int ID { get; set; }

    public string Name { get; set; }

    public int ServiceID { get; set; }

    public virtual Service Service { get; set; } // if there is a Service class

    public string Style { get; set; }
}
于 2012-07-08T17:44:31.267 回答