假设您有一个表订单,其中包含客户ID的外键.现在,假设你想添加一个没有客户ID的订单,(这是否可能是另一个问题)你必须使外键为NULL ...这是不好的做法还是你宁愿使用链接表订单和客户?虽然关系是1到n,但是链接表会使n到n.另一方面,通过链接表,我不再拥有那些NULLS ......
数据库中实际上不会有很多NULL,因为具有NULL的外键的记录只是临时的,直到添加了订单的客户.
(在我看来,它不是订单和客户).
编辑:未分配的客户链接到什么?
当我们离开Linq2Sql时,我们正在学习Entity Framework 6.1(来自NuGet).我们有一小部分表关联两个单独的表,如下所示.
EF6数据库第一代
数据库图:

架构概述:

当在Visual Studio,空白类库中,执行Database First EF6 EDMX文件时,该图只生成TableA和TableC - TableB不会生成.

视觉工作室查看:

您可以看到只创建了TableA和TableC.从技术上讲,应该已经创建了TableB,因为您希望能够管理这些引用.
图中所示的A和C之间的关联:

我觉得我错过了一个选项,或者误解了实体框架的一个关键概念.知道如何用T4生成缺少的TableB吗?EDMX文件确实显示它,但由于某种原因,它不会生成到.CS文件中,其中两个属性指示关系.
我们需要这个的主要原因是我们扩展了EF6 T4模板以添加一些工厂模式以匹配我们现有的模型.因为它不会为TableB生成一个类,所以我们不会得到我们正在寻找的自动生成的代码.
想法/建议?谢谢.