将Oracle多对多表作为表而不是关联来处理

时间:2013-07-15 14:19:00

标签: .net oracle entity-framework ado.net edmx

我正在尝试使用Visual Studio 2012创建Web项目。我想使用Oracle DB创建ADO.NET实体数据模型。

在我的数据库中,我有一些名为:

的表
  • X_TRVS
  • X_MATERIAL
  • X_TRVS_MATERIAL

最后一个表只包含X_TRVS主键和X_MATERIAL主键。所以它似乎是一个联想,但它是一张桌子。当我使用软件“TOAD”时,我可以看到它被视为一个表。但是当我创建我的.edmx时,这个表没有出现,我认为它被认为是一个关联。

如何避免此转换或使用此关联(如表格)?

1 个答案:

答案 0 :(得分:1)

该表似乎是多对多关联中的连接表。因此,EF设计师将其折叠为概念模型中的关联。这导致程序中只有两个类,每个类都应该有一个包含其他类型对象的集合导航属性。这样,您不必处理数据库中存在的实体,只能表达多对多关系,但在代码中您不一定需要使用集合来建模相同的概念。 注意 - 如果您查看edmx文件中的商店模型,那么该表应该是stil。如果连接表中有其他列(不仅是键),设计人员就不会将其转换为关联,因为该表现在有更多数据可以防止它被折叠。