В настоящее время я работаю в c # с файлом базы данных SQLite (data.db3), который находится в каталоге приложения. Во время разработки использовался абсолютный путь, и до сих пор он работал нормально. Сейчас я пытаюсь получить доступ к базе данных, используя относительный путь, но это не удается из-за, возможно, неверной строки подключения. Следующая строка подключения работает нормально и была автоматически создана платформой ADO.Net.
<connectionStrings>
<add name="dataEntities"
connectionString="metadata=res://*/DataEntities.csdl|res://*/DataEntities.ssdl|res://*/DataEntities.msl;provider=System.Data.SQLite;provider connection string='data source="C:\Projekte\DataProvider\data.db3";datetimeformat=Ticks'"
providerName="System.Data.EntityClient" />
</connectionStrings>
Теперь я попытался выполнить следующие действия для доступа к базе данных с использованием относительного пути (все ошибки):
dataContext = new dataEntities("Data Source=data.db3");
dataContext = new dataEntities("Data Source=.\\data.db3");
dataContext = new dataEntities("Data Source=data.db3;Version=3;DateTimeFormat=Ticks;");
dataContext = new dataEntities("metadata=res://*/DataEntities.csdl|res://*/DataEntities.ssdl|res://*/DataEntities.msl;provider=System.Data.SQLite;provider connection string='data source="data.db3";datetimeformat=Ticks'" providerName="System.Data.EntityClient");
Создано инфраструктурой ADO.Net:
public partial class dataEntities : ObjectContext
{
public dataEntities() : base("name=dataEntities", "dataEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
public dataEntities(string connectionString) : base(connectionString, "dataEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
/// ……
}