Entity Framework 4.1 и SQLite - PullRequest
       36

Entity Framework 4.1 и SQLite

2 голосов
/ 15 декабря 2011

Сначала я использую базу данных SQLite и код Entity Framework 4.1.

Следующая ошибка произошла при вызове db.SaveChanges System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SQLite.SQLiteException: The database file is locked

Мой код:

using (var db = new Dal.Database())
{
    var newObj = db.Sheet.FirstOrDefault(e => e.SheetId == SheetId);
    if (newObj == null)
        newObj = new Dal.Sheet();

    newObj.SheetTypeCode = SheetTypeCode;
    newObj.SheetCount = SheetCount;

    db.Sheet.Add(newObj);
    db.SaveChanges();
}

Пожалуйста, помогите мне. Спасибо

1 Ответ

0 голосов
/ 15 декабря 2011

SQLite - это правильный файл базы данных? Есть ли у приложения разрешение на доступ к этому файлу? И файл определенно не только для чтения?

Итак, ошибка возникает в SaveChanges, что означает, что ваш код успешно читает данные из вашей базы данных, но не записывает?

У них может быть ответ для вас,

Entity Framework с исключением SQLite: базовый поставщик не удалось выполнить при фиксации

'Файл базы данных заблокирован' с помощью System.Data.SQLite

Попробуйте изолировать ошибку, что произойдет, если вы попытаетесь вставить новые данные в свою базу данных без предварительного чтения из нее?

Есть ли внутреннее исключение?

...