내가 연결 문자열이 전혀 작동하는지 실제로 놀랄 것입니다. 또한,이 연결 문자열을 구축 및 String.format를 사용하는 것이 더 간단 할 것이다 :
이
var filename = @"F:\My Own programs\KrarZara2\KZ\KZ\Kzdb.s3db";
var connString = string.Format("Data Source={0};UseUTF16Encoding=True;", filename);
using(var conn = new SQLiteConnection(connString))
{
...
}
첫째, 당신은 당신의 설정에 대한 적절한 값으로 UseUTF16Encoding 대체 할 것이다. 둘째, 연결 문자열의 파일 경로는 따옴표로 묶이지 않습니다. 솔루션의 요약은 엔티티 프레임 워크 연결을 구문 분석하는 것입니다
SQLite and Entity Framework 4
:
당신은이 블로그 항목에서 볼 수있는 런타임에 SQLite는 데이터 파일을 교환 할 수있는 방법을 찾고 있다면 당신이 좋아하는 일을 할 것,
public static string RedirectedEntityFrameworkConnectionString(string originalConnectionString, string databaseFile, string password)
{
// Parse the Entity Framework connection string.
var connectionStringBuilder = new EntityConnectionStringBuilder(originalConnectionString);
if (connectionStringBuilder.Provider != "System.Data.SQLite")
{
throw new ArgumentException("Entity Framework connection string does not use System.Data.SQLite provider.");
}
// Parse the underlying provider (SQLite) connection string.
var providerConnectionStringBuilder = new SQLiteConnectionStringBuilder(connectionStringBuilder.ProviderConnectionString);
// Redirect to the specified database file, and apply encryption.
providerConnectionStringBuilder.DataSource = databaseFile;
providerConnectionStringBuilder.Password = password;
// Rebuild the Entity Framework connection string.
connectionStringBuilder.ProviderConnectionString = providerConnectionStringBuilder.ConnectionString;
return connectionStringBuilder.ConnectionString;
}
을 사용하려면 : : 문자열을 다시 설정 한 후 데이터 파일을 변경하고
'데이터 원본'
const string OriginalConnectionString = "..."; // (Copy out of app.config)
var connectionString = RedirectedEntityFrameworkConnectionString(OriginalConnectionString, myFileName, null);
using (var context = new MyEntities(connectionString))
{
...
}
지금 그가 나에게 키워드가 지원되지 않는 다른 오류를 줄입니다. –