【问题标题】:Mapping a Many-to-Many relationship with an Attribute in Entity Framework使用实体框架中的属性映射多对多关系
【发布时间】:2013-05-12 17:56:01
【问题描述】:

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

[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; }
}

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 好的,谢谢。我将看看自定义约定,因为我已经在使用 EF6。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    相关资源
    最近更新 更多