Entity framework 代码优先:上下文字段为空

Entity framework 代码优先:上下文字段为空,entity-framework,code-first,Entity Framework,Code First,以下是我的背景: public class ContentContext : DbContext { public ContentContext() : base("Name=CodeFirstDatabase") { } public DbSet<Article> Articles; public DbSet<ArticleTag> ArticleTags; } 实体: public class Article { public i

以下是我的背景:

public class ContentContext : DbContext
{
    public ContentContext() : base("Name=CodeFirstDatabase") {  }

    public DbSet<Article> Articles;
    public DbSet<ArticleTag> ArticleTags;
}
实体:

public class Article
{
    public int Id { get; set; }
    public string Author { get; set; }
    public string Text { get; set; }
    public virtual ICollection<ArticleTag> ArticleTags { get; set; }

}

public class ArticleTag
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual Article Article { get; set; }
}
公共类文章
{
公共int Id{get;set;}
公共字符串作者{get;set;}
公共字符串文本{get;set;}
公共虚拟ICollection ArticleTags{get;set;}
}
公共类ArticleTag
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共虚拟项目{get;set;}
}
数据库按预期创建。但其中没有创建表,当我尝试添加新文章时,会出现空引用异常。有什么想法吗?谢谢。

ContentContext
中的
DBSet
更改为属性(而不是字段):

公共DbSet项目{get;set;}
公共DbSet ArticleTags{get;set;}
Database.SetInitializer(new CreateDatabaseIfNotExists<ContentContext>());
    public ActionResult Index()
    {
       ContentContext context = new ContentContext();
       context.Database.Initialize(true);

       Article a = new Article() { Text = "TEXT" };

       context.Articles.Add(a);
       context.SaveChanges();

       return View();
    }
public class Article
{
    public int Id { get; set; }
    public string Author { get; set; }
    public string Text { get; set; }
    public virtual ICollection<ArticleTag> ArticleTags { get; set; }

}

public class ArticleTag
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual Article Article { get; set; }
}
public DbSet<Article> Articles { get; set; }
public DbSet<ArticleTag> ArticleTags  { get; set; }