2

私はまだMVVMパターンを学習しており、SQLiteデータベースを含む新しいプロジェクト(C#4.0&WPF)を作成しています。私は過去にdatabases(sql)をあまり使用していませんが、私が行うことは次のようなものです。

Select * from persons;

次に、結果をループして、結果をforeachpersonsクラスに追加します。

result[0] = person.name; 
result[1] = person.id; 

等。次にfor、すべての行を調べてすべてのプレーヤーをList(またはMVVMの場合はObservableCollection)に追加するまで、ループを使用します。次のような行を探しているので、もっと動的になりたいと思います。

Person personone = "Select * from persons where ID = 1";

もちろん、これは機能しません。Googleで質問を検索しようとしましたが、答えが見つかりませんでした。SQL to LINQを見つけましたが、それは実際には私が探しているものではありません。私が見つけた最も関連性のあるものは大規模なsqliteクラスですが、非推奨になっているように見えるため、VS11では機能しないようです。

SQLiteからクラスにデータをより動的に挿入するにはどうすればよいですか?

4

1 に答える 1

4

Dapperはこのための優れたソリューションです。クエリの結果をカスタムPOCOまたは動的オブジェクトにマップできます。

クエリ結果のオブジェクトへのマッピングは、次のように簡単です。

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

単一のインスタンスの場合、これを行います。

MyClass myInstance = cn.Query<MyClass>("select * from MyTable where id = 1").SingleOrDefault(); 
于 2012-05-11T17:58:38.640 に答える