2在实体框架4.1(代码优先)映射建议中共享关系表的表?

时间:2011-08-25 12:46:41

标签: entity-framework-4.1

是否可以从2个表创建映射并让它们共享链接表?我不确定这是否可行,但可能有更好的方法来做到这一点,并希望得到一些建议。这是我对映射的想法:

//For Attachments
HasOptional(a => a.Subscription).WithMany().Map(m => {m.MapLeftKey("SubscriptionID"); m.MapRightKey("EntityId"); m.ToTable("Subscriptions);});

//For Submittals
HasOptional(s => s.Subscription).WithMany().Map(m => {m.MapLeftKey("SubscriptionID"); m.MapRightKey("EntityId"); m.ToTable("Subscriptions);});

这会为两个实体共享创建一个链接表吗?这是一个好方法,还是我应该为订阅表中的每个实体都有一个FK?

更新:我不认为这些映射会起作用,因为它是多对一的吗?这可能更合适:

HasOptional(s => s.Subscription).WithMany().Map(m => {m.MapKey("EntityId"); m.ToTable("Subscriptions");});

Model Example

1 个答案:

答案 0 :(得分:0)

再考虑一下,这不是它的工作原理。我最终只为Subscriptions类中的所有类型提供了FK。就像我需要的那样工作。