实体框架模型第一:如何创建与属性的关联

时间:2012-01-28 06:29:02

标签: .net entity-framework ef-model-first

我正在尝试使用Node和Edge为图形创建数据模型。如果Edge不包含任何属性,我可以简单地创建从节点到自身的多对多关联。但是我想在Edge上存储一些属性,例如距离。我试图创建另一个实体,但没有找到一种方法来声明Edge和Node之间的关系。在Model First中有可能吗?怎么样?

1 个答案:

答案 0 :(得分:7)

您必须在节点到边缘之间创建两个一对多关联,以模拟自引用与映射联结表的多对多关系。在图论中,EF模型创建了定向图,因此它在边缘与A到B之间以及从B到A之间不同。

您将从两个实体及其属性开始:

enter image description here

您将从工具箱中拖动第一个关联。从Node开始并将关联拖到Edge - 它将在Node和Edge之间创建一对多关系。为“传出”边缘配置已创建导航的属性:

enter image description here

您将以相同的方式拖动第二个关联并为“传入”边缘配置其属性:

enter image description here

从此模型生成数据库后,您将获得此表结构:

enter image description here