0

下面的例子在這個問題:How to create a many-to-many mapping in Entity Framework?我想有一個表映射,我可以添加或刪除多對多的關係,而無需通過MediaContract個實體。EF代碼第一個6和多對多的實體映射

從本質上講,我想有:

public class Media // One entity table 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public bool Enabled { get; set; } 

    public virtual ICollection<Contract> Contracts { get; set; } 
} 

public class Contract // Second entity table 
{ 
    public int Id { get; set; } 
    public string Code { get; set } 

    public virtual ICollection<Media> Medias { get; set; } 
} 

public class ContractMedia // Association table implemented as entity 
{ 
    public Media Media { get; set; } 
    public int MediaId { get; set; } 

    public Contract Contract { get; set; } 
    public int ContractId { get; set; } 
} 

是否有可能配置使用FluentAPI這種情況?

回答

0

AFAIK不與ContractMedia實體,但您可以:

public class Media // One entity table 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public bool Enabled { get; set; } 

    public virtual ICollection<ContractMedia> Contracts { get; set; } 
} 

public class Contract // Second entity table 
{ 
    public int Id { get; set; } 
    public string Code { get; set } 

    public virtual ICollection<ContractMedia> Medias { get; set; } 
} 

public class ContractMedia // Association table implemented as entity 
{ 
    public Media Media { get; set; } 
    public int MediaId { get; set; } 

    public Contract Contract { get; set; } 
    public int ContractId { get; set; } 
} 

public class Media // One entity table 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public bool Enabled { get; set; } 

    public virtual ICollection<Contract> Contracts { get; set; } 
} 

public class Contract // Second entity table 
{ 
    public int Id { get; set; } 
    public string Code { get; set } 

    public virtual ICollection<Media> Medias { get; set; } 
} 

,這將導致在數據庫中創建一個映射的非關聯表。