实体框架代码首先添加不需要的外键列

时间:2015-06-28 18:48:36

标签: entity-framework code-first

我在类别新闻之间存在多对一的关系。

我遇到的问题是EF一直在我的桌子上添加一个我不想要的外键列!

新闻类

public class News
{
    public News()
    {

    }

    [Key]
    public int NewsID { get; set; }

    public int PublishedByID { get; set; }
    public string PublishedByFullName { get; set; }
    public string PublishedByEmail { get; set; }
    public DateTime DatePublished { get; set; }
    public string Title { get; set; }
    public string PreviewText { get; set; }

    public string BlobName { get; set; }

    public virtual Category Category { get; set; }
}

类别

public class Category
{
    public Category()
    {
        News = new HashSet<News>();
    }

    [Key]
    public int CategoryID { get; set; }
    public string Name { get; set; }
    public string CategoryTypeName { get; set; }

    public virtual ICollection<News> News { get; set; }
}

数据库

Database

我的问题

如何删除新闻表中的 Category_CategoryID

我猜我在OnModelCreating方法中缺少一些代码。

1 个答案:

答案 0 :(得分:2)

您需要在News类中添加id字段以引用Category。

public class News
{
    [Key]
    public int NewsID { get; set; }

    public int CategoryID { get; set; } // added

    public int PublishedByID { get; set; }
    public string PublishedByFullName { get; set; }
    public string PublishedByEmail { get; set; }
    public DateTime DatePublished { get; set; }
    public string Title { get; set; }
    public string PreviewText { get; set; }

    public string BlobName { get; set; }

    public virtual Category Category { get; set; }
}