2013-04-06 4 views
0

Вот мой контекст:Code First: контекстные поля нулевой

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>()); 

HomeController:

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

базы данных, созданные в expected.But не созданные в ней таблицы и я получаю нулевой ссылочный исключение при попытке добавить новую статью. Есть идеи? Благодарю.

ответ

1

Изменения DBSet<> в ContentContext свойств (вместо полей):

public DbSet<Article> Articles { get; set; } 
public DbSet<ArticleTag> ArticleTags { get; set; } 
+0

глупой ошибки! Благодарю. –