Vb.net 需要关于处理和更新实体框架中的多对多关系的建议吗
我所拥有的: Visual Basic 2015,实体框架(DBContext),WinForms 我的问题是: 我正在使用EF(Model First,因为我从零开始)编写一个VB 2015程序,我的一些实体具有多对多关系。我了解到,为了添加或删除Entity1实例和Entity2实例之间的关系,必须执行以下操作: '获取实体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.
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()