实体框架神奇地将下表结构解释为多对多关系。实体框架中与代理键的多对多关系
table foo (int id)
table foo_bar (int foo_id, int bar_id)
table bar (int id)
但是,如果连接表有任何附加字段,它将被解释为两个一对多关系。
我正在使用连接表具有代理键作为主键的数据库。因为这个EF将其解释为两个一对多的关系。
table foo (int id)
table foo_bar (int surrogate_pk, int foo_id, int bar_id)
table bar (int id)
是否可以修改EF:s解释使其成为模型中的实际多对多关系?可以使用设计师来完成吗?
代理键没有真正的兴趣,所以这将很好地工作。从模型中删除字段似乎没有任何区别。它可以被排除在一个更确定的方式或东西? – 2009-02-16 20:55:42
在设计器中删除代理键不会将其从存储模型中删除。你必须手动编辑EDMX。 – 2009-02-16 21:29:16