2014-07-25 1 views
2

내 응용 프로그램에 SQLite.NET PCL library을 사용하고 있습니다.SQLiteConnection 닫기 (SQLiteConnectionWithLock)

라이브러리를 사용하여 연결 수명주기를 관리하는 가장 좋은 방법은 무엇입니까?

SQLiteConnection.Close() 메서드가 사용되는 예제를 찾을 수 없습니다. 그러나 일반적인 .NET 관행은 각 요청 또는 대량 요청 후에 연결을 닫는 것입니다. 그렇다면 응용 프로그램에 대한 단일 연결을 만들고이를 절대로 배포해야합니까?

답변

0

개인적으로 나는 SqlConnection을 처리 할 using 문에 내 db 작업을 래핑합니다.

using (var conn = SqlConnection()) 
{ 
    //SQL stuff here 
} 

이 마지막 }Close() 전화를 할 것입니다, sqlite-net 그 방법을 구현

protected virtual void Dispose(bool disposing) 
{ 
    Close(); 
} 
+4

그 대답은 ADO.NET 연결에 고유 & 발생했음을 질문에 적용되지 않습니다. 이것은 SQLite.NET PCL 라이브러리에만 어떻게 적용됩니까? 해당 데이터베이스에 대한 모든 테이블 클래스를 사용하여 CreateTable 메서드를 호출해야하는 SQLite.Net.SQLiteConnection을 만들면 내 이해입니다. CreateTable 요구 사항으로 인해 using 문을 사용하여 연결을 만들 때마다 오버 헤드가 많이 발생합니다. 그 질문에 대한 SQLite.NET PCL 라이브러리 및 그것에 참조 된 특정 클래스 SQLiteConnection에 대한 "모범 사례"가 될지 확실하지 않습니다. –

+0

@RodneyFoley 멋진 댓글. SQLite.NET PCL에 대한 접근 방식에 대한 답을 제공하겠습니까? – alexey

+0

@alexey 질문의 요지는 내가 좋은 접근 방식을 갖고 있지 않았으며 그 당시에는 아무 것도 기록되어 있지 않았다는 것이 었습니다. 많은 문제 때문에 SQLite.NET PCL을 사용하지 않았습니다. 그것은 일종의 마이크로 오름막이기 때문에 일반적으로 IDisposable 패턴의 개념을 피하는 것으로 보이며 연결을 정확하고시기 적절하게 처리한다는 것을 "신뢰해야"합니다. –