使用实体框架中的属性映射多对多关系

时间:2013-05-12 09:01:55

标签: c# .net entity-framework many-to-many

我总是使用Attributes将我的实体的属性映射到相应的列。这是一个例子:

[Table("news_entries")]
public class News
{
    [Key]
    public int Id { get; set; }

    [Column("d_date")]
    public DateTime Date { get; set; }

    [Column("m_text")]
    public string Text { get; set; }

    [Column("id_user")]
    public int UserId { get; set; }

    [ForeignKey("UserId")]
    public User User { get; set; }
}

但我仍然不知道,我如何映射多对多关系,表和列名称与属性不匹配。

我知道我可以在DbModelBuilder中使用DbContext,但我不想在我的实体类之外进行映射。是否有可能将这些关系与属性进行映射?

1 个答案:

答案 0 :(得分:1)

  

我知道我可以在DbContext中使用DbModelBuilder,但我不知道   想要在我的实体类之外进行映射。是不是以某种方式   是否可以将这些关系与属性进行映射?

没有。联结表中没有可以应用属性的类。一旦您使用直接多对多映射(其中联结表隐藏在导航属性后面),您需要使用流畅的API。

也许EF6会通过自定义约定来实现这一点,但我最初使用常规处理外键名称的经验并不成功,所以我猜联结表将是同一个故事。

相关问题