2012-01-24 2 views
3

Имейте проблему с приращением. Я создал новый объект и попытался установить его в свою БД, я получил ошибку нарушения данных. Индекс в таблице не был увеличен (Id = 0). Идентификатор - задан как первичный ключ в таблице SQL и свойство StoredGeneratedPattern поля «Id» в EDM, заданное как «Identity», поэтому, очевидно, он должен автоматически увеличиваться.Entity Framework Id auto incrementing

public void AddPhone(UserPhone phone) 
{ 
    context.AddToUserPhone(phone); 
    context.SaveChanges(); 
} 

Не понимаю, почему.

+0

Был ли сохранен новый объект? – Eranga

ответ

5

Entity Framework не увеличивает автоматически идентификаторы. Это работа базы данных. Установите столбец идентификатора в таблице базы данных как столбец IDENTITY, чтобы он автоматически увеличивался. Затем вы должны обнаружить, что после того, как вы установили SaveChanges(), для свойства ID телефона будет установлено значение, выбранное для него базой данных.

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