我有以下型号:
我想公开一个关于“intallations”的成员,它给我一个基于连接表“installation_modules”的“模块”列表,我该怎么做?
我希望能够写
installations.Modules.Something()
无需在我的代码中使用连接表。
我还想直接在安装上映射“installation_type”,有可能吗?如果是的话怎么样?
答案 0 :(得分:1)
实体框架会自动为您管理多对多关系,但通常installation_modules
表应该只有两列installation_id
和module_id
,它们将是复合主键而不是单独的主键。因此,Installation
模型/类将具有public virtual ICollection<Module> Modules {get; set;}
,Module
类将具有public virtual ICollection<Installation> Installations {get; set;}
导航属性,以便于实体访问。
我还想映射&#34; installation_type&#34;直接安装,有可能吗?如果是的话怎么样?
是的,有可能。您可以在InstallationType
实体中为Installation
设置导航属性。
public class Installation
{
//....other properties
[Column("installation_type_id")]
public int InstallationTypeId {get; set;}
[ForeignKey("InstallationTypeId")]
public virtual InstallationType InstallationType{get; set;}
}