Ну, я наконец-то сделал эту работу: D. Вам нужно установить столбец id как автоинкремент, таким образом он работает с EF. Не спрашивайте меня, почему это не упоминается в вопросе об автоинкременте в sqlite faq. Это пример:
create table Persona ( PersonaID integer primary key autoincrement, Nombre text)
Кроме того, я не нашел способа установить это из Visual Studio, я должен был сделать это из инструмента командной строки.
ОБНОВЛЕНИЕ: следующий код работает нормально.
PruebaDBEntities data = new PruebaDBEntities();
foreach (int num in Enumerable.Range(1, 1000))
{
Persona p = new Persona() { Nombre = "Persona " + num, Edad = num };
data.AddToPersona(p);
data.SaveChanges();
Console.WriteLine(p.PersonaID);
}
PersonaID не был установлен, и после операции сохранения ему присваивалось значение sqlite.