![]() |
1
4
您的域模型在转换为数据库表时将违反数据库规范化原则。 问题 :category实体中的levels列将创建冗余,更不用说,如果您稍后发现需要容纳更多级别,则需要对模型进行更改。 解决方案 :我建议您: 步骤1。修改您的实体并创建这样的父子关系:
父子关系允许您根据需要创建任意多个级别。如果一个类别不属于某个级别(换句话说是根类别),它的父级将为空。 步骤2。在 OnModelCreating()。 你的方法 数据库上下文 类,按如下方式指定关系:
数据库中的结束表如下所示:
|
![]() |
2
0
我把那张桌子分成两张桌子。一个用于cat1,一个用于cat2,带有cat1的外键。这样,您就不会有太多重复的cat1条目,您可以轻松地将cat2映射到正确的cat1。 这将使它成为 一对多 1类和2类之间的关系。
我不会担心ID值到底是什么,因为这无关紧要。
我的想象是这样的:
免责声明:代码未经测试。 |
![]() |
Drago · Linq通过比较Id和具有Id的对象列表来查询获取列表 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
![]() |
Murat Güzel · EF存储库模式错误{'Id'}已被跟踪 2 年前 |
![]() |
dotnetdevcsharp · 减少基于数据类型获取设置的方法数量 2 年前 |
![]() |
saravanan049 · 在实体框架中回滚Azure SQL数据库 2 年前 |