2

我仍在学习 MVVM 模式,并且正在制作一个涉及 SQLite 数据库的新项目(C#4.0 和 WPF)。我sql过去很少使用数据库(),但我会做的是这样的:

Select * from persons;

然后遍历结果并将foreach结果添加到 people 类中,例如

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 回答