Vb.net 需要关于处理和更新实体框架中的多对多关系的建议吗

Vb.net 需要关于处理和更新实体框架中的多对多关系的建议吗,vb.net,entity-framework,visual-studio-2015,many-to-many,ef-model-first,Vb.net,Entity Framework,Visual Studio 2015,Many To Many,Ef Model First,我所拥有的: Visual Basic 2015,实体框架(DBContext),WinForms 我的问题是: 我正在使用EF(Model First,因为我从零开始)编写一个VB 2015程序,我的一些实体具有多对多关系。我了解到,为了添加或删除Entity1实例和Entity2实例之间的关系,必须执行以下操作: '获取实体 Dim e1 As Entity1 = query getting an instance of Entity1 'Navigation property: e1.

我所拥有的:

Visual Basic 2015,实体框架(DBContext),WinForms

我的问题是:

我正在使用EF(Model First,因为我从零开始)编写一个VB 2015程序,我的一些实体具有多对多关系。我了解到,为了添加或删除Entity1实例和Entity2实例之间的关系,必须执行以下操作:

'获取实体

Dim e1 As Entity1 = query getting an instance of Entity1   'Navigation property: e1.Entity2Collection*

Dim e2 As Entity2 = query getting an instance of Entity2   'Navigation property: e2.Entity1Colection*
'填充集合

dbc.Entry(e1).Collection(Function(e) e.Entity2Collection).Load()   'lambda overload

'执行更新

e1.Entity2Collection.Add(e2)
dbc.SaveChanges()

Entry/Collection/Load语句很重要,因为除非填充集合,否则无法正确添加/删除关系(另一种方法是在原始查询中使用Include方法)

但我不确定该怎么办:

dbc.Entry(e1).Collection(Function(e) e.Entity3Collection).Load()

dbc.Entry(e1).Collection(Function(e) e.Entity4Collection).Load()
假设Entity1与2个或更多其他实体中的每一个都有多对多关系,例如

实体1是具有实体2的多对多

Entity1是具有Entity3的多对多,并且

Entity1是具有Entity4的多对多

我还需要做什么:

dbc.Entry(e1).Collection(Function(e) e.Entity3Collection).Load()

dbc.Entry(e1).Collection(Function(e) e.Entity4Collection).Load()
为使上述更新正常工作,在执行添加或删除操作之前?

dbc.Entry(e1).Collection(Function(e) e.Entity3Collection).Load()

dbc.Entry(e1).Collection(Function(e) e.Entity4Collection).Load()