我正在为我正在构建的简单的catologueing应用程序创建我的模型。它记录的项目,其中每个项目可以有多个选项(itemOptions)。我的问题是,如果itemOptions存储了属于哪个项目,我最好有itemOptions列表吗?
方法1
public class Item
{
public bool Active { get; set; }
public string ItemCode { get; set; }
public int ItemId { get; set; }
public string Name { get; set; }
}
public class ItemOption
{
public int ItemOptionId { get; set; }
public string Name { get; set; }
public string Barcode { get; set; }
public virtual Item Item { get; set; }
public int ItemId { get; set; }
}
方法2
public class Item
{
public bool Active { get; set; }
public string ItemCode { get; set; }
public int ItemId { get; set; }
public string Name { get; set; }
public List<ItemOption> ItemOptions { get; set; }
}
public class ItemOption
{
public int ItemOptionId { get; set; }
public string Name { get; set; }
public string Barcode { get; set; }
}
由于ItemOptions都属于一个项目,我认为方法2是我建模数据的更好方法,尽管两种方法都有效。哪个是存储的最佳方式?另外,如果我使用方法2,我如何找出ItemOption属于哪个Item?
答案 0 :(得分:1)
这在很大程度上取决于您的域名,只有您可以知道哪种方式最好。
使用方法2 ,一个ItemOption
可以属于许多不同的Items
,其中方法1 这是父子关系,其中ItemOption
只能属于一个Item
。