2013-08-12 5 views
1

Я получаю это исключение из столбца «User_Id», которого у меня нет в моей базе данных или в моем коде. Это просто так показалось ... В чем проблема? Какие-либо предложения ? Я получаю это исключение, когда хочу что-то добавить.Недопустимое имя столбца «User_Id»

 protected override void BaseAdd(Meal entity) 
     { 
      using (var context = new ProjectContext()) 
      { 
       context.Meals.Add(entity); 
       context.SaveChanges(); //here is where I get the exception 
      } 
     } 
+0

Есть ли столбец id/primary key в таблице Meals? –

+0

Сделайте поиск по всему вашему решению для 'User_Id' - он почти наверняка присутствует где-то. Но у нас нет шансов найти его на основе вашего представленного кода. –

+0

@Damien_The_Unbeliever Очень возможно, что в коде не будет 'User_Id'. См. Мой ответ. – sed

ответ

4

Вы user_id, потому что вы сопоставляются, что User может иметь несколько Meals в вашем POCO как так.

public class User 
{ 
    public int Id { get; set; } 
    public int Name { get; set; } 

    public ICollection<Meal> Meals { get; set; } 
} 

Из-за этого EF автоматически предполагает, что Meal будет иметь 1-много связей с User.

Предлагаю вам сначала сделать update-database -v -f, чтобы убедиться, что ваша база данных настроена правильно. И второе - я настоятельно рекомендую делать реляционные идентификаторы также в вашем POCO, чтобы ваша база данных была 1-1 с вашим POCO, и вы не получите таких сюрпризов.