2017-05-24 25 views
0

我想要做的这些对象之间的许多一对多的关系:的EntityFramework定制多对多没有导航属性

class Flyer { 
    Guid Id; 
    virtual ICollection<Address> Stores; 
} 

和:

class Address { 
    Guid Id; 
} 

当然,这些模型简化。

而我不想导航属性为FlyerAddress之内,因为Address也与其他对象有关系。有可能的?

流利的API只

+0

“我不想要一个导航属性...” - 那么你不希望有一个关系,多对多变得不相关/未定义。无论如何,你的意思是什么? –

+0

'我不想要一个导航属性Flyer inside Address,因为Address也与其他对象有关.'如果每个链接表都是DB中的一个单独的FK列,那么可以为每个连接类型放置一个导航属性。如果您使用单个列输入可引用多个表中的一个的FK,那么您的工作超出了EF提供的范围,并且需要添加自定义逻辑来转换您的FK(这仍然需要属性在您的“地址”中)转换为“Flyer”或任何其他连接类型。对于后者的选择:你有什么尝试? – Flater

回答

0

您如何识别地址属于什么,如果它可以属于多个不同的表?你有一个联合表吗?像AddressToFlyer表建立两个表之间的关系?

当我有复杂的查询需要发生像这样一个表可以被许多表使用时,我创建连接表,并且通常创建视图来处理连接并为我提供我想要的数据,这样我就可以在Entity Framework中做一个选择,而不用担心Navigational属性,然后在实体框架中实现所述视图,就像你在常规表中一样。