问题描述
|
我有
two tables that have many-to-many relationship
。我想同时将new object
插入第一个表,并使用using2ѭ与第二个表对象建立关系。
目前,我正在使用detailsView为第一个表的新对象输入数据,并使用checkBoxList从第二个表中选择相关对象。
问题是有关将相关对象连接到新对象。现在,我要通过从第二个表中选择实体并将其添加到要插入的实体的相关项的entityCollection中,在entityDataSource插入事件中进行尝试。
问题是,我需要使用新对象的objectContext获取相关项,但是它的一般objectContenxt类型无法将其转换为实体上下文的objectContext类型。
解决方法
作为适用于多对多关系表的一般规则,请映射出第三个表,其中包含两个相关表的主键。
例如,如果table1 [Table1Id,......]和table2 [Table2Id,.......],则创建第三个表table3 [Table3Id,Table1Id,Table2Id] ......
不确定使用哪种形式的EF [代码优先/数据库优先],您可以简单地使用Table3.Table1Collection和Table3.Table2Collection属性,这些属性需要首先附加到上下文,然后保存更改。
希望这可以帮助