Entity framework 我应该在VisualStudio中的edmx文件中创建什么关联?

Entity framework 我应该在VisualStudio中的edmx文件中创建什么关联?,entity-framework,visual-studio,diagram,edmx,Entity Framework,Visual Studio,Diagram,Edmx,我在数据库中有3个表,我已经将它们添加到Visual Studio中的edmx文件中,这样我就可以通过提供,学校,访问它们,并且可以通过提供[I]、提供[I]、提供[I]、学校[I]访问它们的字段 第一个是报价列表: ╔═══╦════════════╦═════════════╗ ║ # ║ 报价Id║ 报盘名称║ ╠═══╬════════════╬═════════════╣ ║ 1.║ 1.║ 报价1║ ║ 2.║ 2.║ 提议2║ ║ 3.║ 3.║ 提议3║ ╚═══╩══════

我在数据库中有3个表,我已经将它们添加到Visual Studio中的edmx文件中,这样我就可以通过
提供
学校
,访问它们,并且可以通过
提供[I]、
提供[I]、
提供[I]、
学校[I]访问它们的字段

第一个是报价列表

╔═══╦════════════╦═════════════╗
║ # ║ 报价Id║ 报盘名称║
╠═══╬════════════╬═════════════╣
║ 1.║ 1.║ 报价1║
║ 2.║ 2.║ 提议2║
║ 3.║ 3.║ 提议3║
╚═══╩════════════╩═════════════╝

第二个是学校名单:

╔═══╦════════════╦═════════════╗
║ # ║ 学号║ 校名║
╠═══╬════════════╬═════════════╣
║ 1.║ 1.║ 第一学校║
║ 2.║ 2.║ 学校2║
║ 3.║ 3.║ 学校3║
╚═══╩════════════╩═════════════╝

第三个是一个OfferSchoolMapping表:

╔═══╦════════════╦═════════════╗
║ # ║ 报价Id║ 学号║
╠═══╬════════════╬═════════════╣
║ 1.║ 1.║ 1.║
║ 2.║ 1.║ 2.║
║ 3.║ 2.║ 1.║
║ 4.║ 2.║ 2.║
║ 5.║ 2.║ 3.║
║ 6.║ 3.║ 1.║
╚═══╩════════════╩═════════════╝

现在我想在3个表之间创建关联,这样我就可以通过如下方式访问它们:
学校[i]。提供
提供[i]。学校
。例如,我想要:
学校[1]。提供
=

报价1
提议2
提供[1]。学校
=

第一学校
学校2
学校3


那么我应该通过Visual studio创建什么关联呢?学校和优惠表是多对多关系。在EF designer中,设置实体之间的关联,并在两端将多重性设置为集合。接下来,将
Association set Name
设置到映射表
OfferSchoolMapping
。 通常,您的设置应如下所示:

映射表在哪里?那么我应该删除映射表吗?数据表已经在数据库中…是的,映射表不应该出现在设计器中。实体框架如何知道哪个数据库表是映射表?它会创建另一个新的映射表而不是使用现有的映射表吗?如果您是从数据库生成模型(数据库优先方法),您应该自动获得您想要的(它会识别这两个表之间的多对多)。如果要使用designer创建模型,然后创建数据库(模型优先方法),则应将Set Name关联到映射表的所需名称,它将在数据库中创建相应的表。希望这有帮助。我终于明白了关联应该附加到主键字段。