2016-03-03 6 views
0

У меня есть эти сгенерированные классы:Неверное имя столбца «» при вызове SaveChanges()

public partial class BookCategoryMapping 
{ 
    public int Id { get; set; } 
    public int CategoryPropertyId { get; set; } 
    public int GroupId { get; set; } 
    public string Value { get; set; } 
    public int OperatorId { get; set; } 

    public virtual CategoryProperties CategoryProperties { get; set; } 
    public virtual Group Group { get; set; } 
    public virtual Operator Operator { get; set; } 
} 

public partial class Operator 
{ 
    public Operator() 
    { 
     this.BookCategoryMapping = new HashSet<BookCategoryMapping>(); 
    } 

    public int Id { get; set; } 
    public string Name { get; set; } 

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

Но всякий раз, когда я называю этот метод, с обновлением ложной. Я получаю

Неверное имя столбца «OperatorId»

public void SaveBookCategoryMapping(BookCategoryMapping bookCategoryMapping, bool update) 
    { 
     if (update) 
      _context.Entry(bookCategoryMapping).State = EntityState.Modified; 
     else 
      _context.BookCategoryMapping.Add(bookCategoryMapping); 

     _context.SaveChanges(); 
    } 

Я понятия не имею, как это может быть недействительным, так как классы генерируются из модели EDMX.

EDIT: Я попытался создать скрипт в SSMS. Я признаю, что столбец здесь. Но вставка все еще терпит неудачу.

+0

Вы можете проверить, существует ли в базе данных столбец «OperatorId». Используете ли вы метод Database First при создании EDMX? Cheers –

+0

@TKelly EDMX создается база данных сначала, да. И я triple проверил базу данных также. Столбец существует :-( –

+0

Сбой при вставке и обновлении маршрутов? Сгенерирован SQL? Https://msdn.microsoft.com/en-us/data/dn469464.aspx?f=255&MSPPError=-2147217396 –

ответ

0

Сбрасывая стол и воссоздавая его, проблема устранена.

Смежные вопросы