2011-04-05 3 views
11

내가하려고하는 것은 SQLite 데이터베이스에서 user_version (PRAGMA user_version)을로드하여 설정하는 것입니다. 엔티티 프레임 워크를 사용하고 있지만이를 통해 수행 할 수 없다면 C# 4.0에서 가능한 다른 방법으로 수행 할 수 있어야합니다. EF를 사용하여 SQLite DB에서 user_version을 검색하고 설정하는 방법

내가 시도 :

this.DatabaseConnection.Connection.Open(); 
System.Data.Common.DbCommand cmd = this.DatabaseConnection.Connection.CreateCommand(); 
cmd.CommandText = "PRAGMA user_version"; 
cmd.CommandType = System.Data.CommandType.Text; 
System.Data.Common.DbDataReader reader = cmd.ExecuteReader(); 

DatabaseConnection 내 EF 문맥과 연결 컨텍스트 내에서 DbConnection 개체입니다,하지만 난 예외가 얻을 :

쿼리 구문이 유효하지 않습니다합니다. 식별자 'user_version'행 1 열 근처 제

답변

13

음 ... I는 결국 알아 냈다. 이것은 엔티티 프레임 워크를 사용하는 동안이 작업을 수행하는 가장 좋은 방법이라고 생각합니다.

이 작업을 수행하는 데 필요한 user_version을 설정하려면 ...

this.DatabaseConnection.ExecuteStoreCommand("PRAGMA user_version = 5"); 

이 작업을 수행하는 데 필요한 user_version를 얻으려면 ...

long result = this.DatabaseConnection.ExecuteStoreQuery<long>("PRAGMA user_version").FirstOrDefault(); 
+2

그것은'model.Database.SqlQuery (의 "...") "이후 버전의 EF. –

관련 문제