0

これが私のコンテキストです:

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

    public DbSet<Article> Articles;
    public DbSet<ArticleTag> ArticleTags;
}

接続文字列:

<add name="CodeFirstDatabase" providerName="System.Data.SqlClient" connectionString="Server=X-ПК\SQLEXPRESS;Database=Products;Trusted_Connection=true;"/>

Global.asax:

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

データベースは期待どおりに作成されましたが、そこにテーブルが作成されず、新しい記事を追加しようとすると null 参照例外が発生します。何か案は?ありがとう。

4

1 に答える 1

1

(フィールドではなく) プロパティに変更しDBSet<>ます。ContentContext

public DbSet<Article> Articles { get; set; }
public DbSet<ArticleTag> ArticleTags  { get; set; }
于 2013-04-06T20:06:26.967 に答える