【IT168 专稿】Sterling是一款开源的嵌入式数据库软件。在本篇中,我们将分析如何把Sterling数据库集成到Windows Phone 7程序中及相应的编程技巧和注意事项。
现在,继续上文中的讨论。让我们接着观察如何把上篇中定义的两个数据库表格封装到WP7视图模型中。
一、创建MainViewModel
为了实现更加模块化的设计,我们将创建一个视图模型,用以封装上篇中定义的两个数据库表格。为简单起见,我们主要提供了数据加载方面的支持。使用MainViewModel的另一个原因是下载的示例程序中正是使用了这种系统架构方式。然而,请注意这个例子中并没有利用流行的MVVM设计模式。
列表1:定义主视图模型实现与Sterling数据库层的关联
public class MainViewModel : INotifyPropertyChanged
{
public MainViewModel()
{
this.Groups = new ObservableCollection();
this.Contacts = new ObservableCollection();
}
public ObservableCollection Groups { get; private set; }
public ObservableCollection Contacts { get; private set; }
public bool IsDataLoaded
{
get;
private set;
}
public void LoadData()
{
bool hasKeys = false;
foreach (var item in App.Database.Query())
{
hasKeys = true;
break;
}
bool hasKeys2 = false;
foreach (var item in App.Database.Query())
{
hasKeys2 = true;
break;
}
{
public MainViewModel()
{
this.Groups = new ObservableCollection();
this.Contacts = new ObservableCollection();
}
public ObservableCollection Groups { get; private set; }
public ObservableCollection Contacts { get; private set; }
public bool IsDataLoaded
{
get;
private set;
}
public void LoadData()
{
bool hasKeys = false;
foreach (var item in App.Database.Query())
{
hasKeys = true;
break;
}
bool hasKeys2 = false;
foreach (var item in App.Database.Query())
{
hasKeys2 = true;
break;
}