【问题标题】:Entity type not created for table with composite key未为具有复合键的表创建实体类型
【发布时间】:2012-02-22 03:01:26
【问题描述】:

我正在使用 VS 2010、Entity Framework 4.3 和 MySql.Data.Entity v6.3.5 来处理带有几十个表的 MySQL 数据库。我使用 ADO.NET DbContext 生成器。

除了两个表没有为它们创建实体之外,一切都运行良好。两者具有相似的结构,因为它们具有由指向其他表的外键组成的复合键。因此,一个是 region_flavor 表,它映射分配给特定销售区域的(冰淇淋)口味。好像是这样

region_flavor
-------------
RegionId INT(10) PK NN
Flavor VARCHAR(64) PK NN

RegionId 是区域表的外键,Flavor 是冰淇淋表的外键。

另外一张桌子的情况基本相同。

当我执行“从数据库更新”时,我看到在模型浏览器中,我的 IceCreamModel.Store\Tables / Views 文件夹下列出了表 region_flavor。但在我的 IceCreamModel\Entity Types 文件夹下没有实体类型。

当我从数据库进行更新时,我没有收到任何 .edmx 错误。

也许我在这里遗漏了一些东西。想法?

如果有帮助,我可以发布更多信息。

【问题讨论】:

标签: mysql entity-framework-4


【解决方案1】:

这是正常行为。这是用于对数据库中的多对多关系建模的联结表。如果它不包含任何额外的列,则 EF 不需要将其映射到实体,因为多对多关系直接建模并由 EF 在内部转换为表行。

【讨论】:

  • 好的,谢谢。我现在明白为什么会这样了。感谢您为我解决这个问题。
  • 有趣,现在检查一下这个理论。根据我的经验,在早期版本的 MySQL EF 中显然不是这种情况。
猜你喜欢
  • 2013-05-20
  • 2014-12-09
  • 1970-01-01
  • 2013-01-30
  • 2011-07-03
  • 2015-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多