--- edit --- Есть ли какая-либо дополнительная информация, которую я могу дать, чтобы помочь решить эту проблему?
Я пытаюсь начать работу с Sqlite и Entity Framework в .NET WCF.веб-сервис.
Когда я пытаюсь что-либо сохранить в базе данных, я получаю сообщение об ошибке "попытка записи базы данных только для чтения" .Вот полная информация об ошибке:
System.Data.EntityException: ошибка произошла при запуске транзакции на соединении провайдера.Подробности см. Во внутреннем исключении.
---> System.Data.SQLite.SQLiteException: Попытка записи базы данных только для чтения
Попытка записи базы данных только для чтения
в системе.Data.SQLite.SQLite3.Reset (SQLiteStatement stmt)
at [snip] ........................................................> в System.Data.EntityClient.EntityConnection.BeginDbTransaction (IsolationLevel изоляцияLevel) в System.Data.Common.DbConnection.BeginTransaction() в System.Data.EntityClient.EntityConnection.BeginTransaction () в System.Data.Objects.ObjectContext.SaveChanges (Boolean acceptChangesDuringSave) в System.Data.Objects.ObjectContext.SaveChanges () в ...
Вот моя конфигурация EF внутри Web.config (с разрывами строк для удобства чтения):
<connectionStrings>
<add
name="FooEntities"
connectionString="metadata=res://*/FooDataModel.csdl|
res://*/FooDataModel.ssdl|
res://*/FooDataModel.msl;
provider=System.Data.SQLite;
provider connection string='data source=C:\domains\myfoosite.com\wwwroot\FooService\Foo.sqlite'"
providerName="System.Data.EntityClient" />
<connectionStrings>
Почему я получаю эту ошибку?Почему база данных доступна только для чтения?
Некоторые вещи, которые я пробовал:
Гарантировано, что каталог и файл доступны для записи веб-службой.(Я пытался записать текстовые файлы в ту же директорию, что и тест.)
Я добавил 'read only = False' в строку подключения.