Design patterns 如何确定在数据库设计中使用哪种类型的关系

Design patterns 如何确定在数据库设计中使用哪种类型的关系,design-patterns,entity-framework-4,relationship,Design Patterns,Entity Framework 4,Relationship,我正在设计一个数据库,我一直在试图弄清楚我需要什么样的关系 我有一个订单实体,它与一个订单项实体一一对应。这个很好用。但是,我想找到一种方法,将每个订单项与一个产品链接起来,但是产品不需要知道任何订单项 我遇到的问题是,当我尝试添加产品时,Entity Framework抱怨我没有指定OrderItem: “ModelContainer.Products”中的实体参与“OrderItemProducts”关系。找到0个相关的“OrderItem”。应为1个“OrderItem” 因此,我认为我在

我正在设计一个数据库,我一直在试图弄清楚我需要什么样的关系

我有一个订单实体,它与一个订单项实体一一对应。这个很好用。但是,我想找到一种方法,将每个订单项与一个产品链接起来,但是产品不需要知道任何订单项

我遇到的问题是,当我尝试添加产品时,Entity Framework抱怨我没有指定OrderItem

“ModelContainer.Products”中的实体参与“OrderItemProducts”关系。找到0个相关的“OrderItem”。应为1个“OrderItem”

因此,我认为我在订单项产品之间没有正确的关系类型


我的问题是:我需要一段感情吗?如果是,我如何将一个OrderItem链接到一个产品,而不是相反?如果没有,我可以采取什么其他方法?

现在看来很明显,但我在订单项产品之间有1-3种关系,但方向不对


在Visual Studio中使用模型设计器时,我需要从产品实体单击到订单项实体。现在,方向是正确的。您开始的实体是成为“1-Many”关系中的“1”的实体。

听起来您需要的是一个与当前相反方向的1-Many关系。我对EF的了解不足以告诉你如何做到这一点,但我假设你只是在相反的方向上做你正在做的事情。那么一个产品将有许多订单项?现在看来很明显,是的。我假设还有一种方法可以告诉EF不要在产品中生成可以导航到OrderItems的内容,如果你不在乎的话。