2012-05-11 1 views
1

나는 여전히 MVVM patern을 배우고 있으며 SQLite 데이터베이스를 포함하는 새로운 프로젝트 (C# 4.0 & WPF)를 만들고 있습니다. 나는 과거에 데이터베이스 (SQL)에 대한 많은 능숙함을 얻지 못했지만, 내가 할 수있는 것은 비슷한 것이다. 명 *을 선택하십시오. 그런 다음 결과를 반복하고 결과를 foreach 결과 person 클래스에 추가합니다. 결과 [0] = person.name; 결과 1 = person.id; 그리고 계속해서 모든 행을 반복하고 모든 플레이어를 List (또는 MVVM의 ObservableCollection)에 추가 할 때까지 for 루프를 수행합니다. 이제 나는 더 많은 역활을하고 싶습니다. 나는 좀 더 많은 행을 찾고 있습니다. 나는 좀 비슷한 것을 찾고 있습니다. 사람 personone = "ID가 1 인 사람에게서 * 선택"; 하지만 이건 일하지 않습니다 ^^. 나는 약간의 googleing하지만 그런 일을 찾는 데 진짜 행운, 나는 LINQ에 SQL을 발견하지만 그것은 내가 찾은 가장 intersting은 massive sqlite class지만, 생각하지 않는 것이 내가 원하는 것은 아니지만 그것은 VS11과 함께 작동하지 않는 것 (ADO.net SQLite를 필요로하기 때문에, VS11과 incombatible로 몇 년 동안 업데이트되지 않았습니다.)자동으로 SQLite 데이터 가져 오기 및 클래스에 삽입

내 문제가 무엇인지 이해하고 해결책을 얻길 바랍니다. 내 지저분한 질문

맥심

답변

3

Dapper 죄송 는 이것에 대한 좋은 솔루션입니다. 쿼리의 결과를 사용자 지정 POCO 또는 동적 개체에 매핑 할 수 있습니다. 나는 그것으로보고 한 후 빠른 회신

MyClass myInstance = cn.Query<MyClass>("select * from MyTable where id = 1").SingleOrDefault(); 
+0

감사 : 하나의 예를 들어

var cn = ... //create your db connection IEnumerable<MyClass> myList = cn.Query<MyClass>("select * from MyTable").ToList(); 

,이 작업을 수행 할 것입니다 : 개체에 대한 쿼리 결과를 매핑

로 간단합니다 IDbConnection 대신 SQLiteConnection을 사용하는 문제가 발생합니까? 내 연결은 다음과 같이 이루어집니다. var con = new SQLiteConnection ("Data Source = C : /hugetestfile.sqlite; Version = 3;"); IDbConnection 인터페이스로 SQlite 연결을 만들려면 어떻게해야합니까? – Maximc

+0

SQLiteConnection은 DbConnection에서 상속되므로 제대로 작동해야합니다. – RedFilter

+0

네가 맞아, 고마워! Btw 나는 cn.query를 할 수 없다 var testlist = Dapper.SqlMapper.Query (con, "select * from persons"); var testlist = con.Query 대신 ("select * from champions"); 왜 여기서 실패할까요? – Maximc

관련 문제