3

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

[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,但我不想在我的实体类之外进行映射。是否也可以将这些关系与属性映射?

4

1 回答 1

1

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

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

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

于 2013-05-12T09:56:01.180 回答