我需要创建一个价格表系统,所以我将在我的数据库中创建这三个表。
(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模型中执行此类数据库表的最佳方法是什么?
答案 0 :(得分:1)
当您需要使用Entity Framework时,我会使用公共虚拟变量来表示“延迟加载”值:
(变量类型可能会关闭,具体取决于您对每个变量的确切要求)
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; }
}