【发布时间】:2019-03-01 23:15:49
【问题描述】:
我正在尝试首先使用实体框架代码为 c# .net Core 应用程序开发数据模型。
我基本上拥有的是下面的数据模型。
有表Dog 和Person。它们各自包含不同的信息。例如,我可以养不同类型的狗。人可以有一些特定的东西,这不适用于狗。
Person 和 Item 之间存在 1:1 的关系。 Dog 和 Item 之间的关系相同。
除此之外,ItemReference 还包含 Item 之间的子父关系。例如狗和人之间存在子父关系(狗主人-狗或人可能是兄弟姐妹)
我需要按字母顺序列出狗和人(将它们混合在一起)。此外,我需要能够访问以下各项的详细信息页面。
使用这个感觉真的很愚蠢,因为将来可能会有更多的表。例如Cat 或Car,我每次都需要修改这些If 语句。
@foreach (var x in Model.Item.OrderBy(y=>y.ItemName))
{
if (x.ItenType == "Dog")
{
<li><a asp-page="DogDetails" asp-route-id="@x.Item.Dog.Id">@x.ItemName</a></li>
}
if (x.ItenType == "Person")
{
<li><a asp-page="PersonDetails" asp-route-id="@x.Item.Person.Id">@x.ItemName</a></li>
}
}
有谁知道如何制作这样一个数据模型,所以它是更智能的设计?
非常感谢任何帮助
表 Dog、Person 和 Item 将如下所示:
狗
Id DogName DogTypeId DogStatusId ItemId
1 "Alex" 1 1 1
2 "Rex" 2 1 2
人
Id PersonName PersonStatusId ItemId
1 "Joe" 1 3
2 "Jane" 2 4
物品
Id ObjectName ItemType
1 "Alex" "Dog"
2 "Rex" "Dog"
3 "Joe" "Person"
4 "Jane" "Person"
【问题讨论】:
标签: c# entity-framework asp.net-core