这相对于上一版本的升级版
如果不理解看请看第一版:WPF+SqlSugar+MVVM实现增删改查 - 六子12138
ViewModels代码
1 using Entitys;
2 using SqlSugar;
3 using System;
4 using System.Collections.Generic;
5 using System.Collections.ObjectModel;
6 using System.ComponentModel;
7 using System.Linq;
8 using System.Text;
9 using System.Threading.Tasks;
10 using System.Windows.Controls;
11 using WpfMVVM.Model;
12 using WpfMVVM.Views;
13
14 namespace WpfMVVM.ViewModel
15 {
16 public class UserViewModel : INotifyPropertyChanged
17 {
18 public event PropertyChangedEventHandler PropertyChanged;
19 protected void OnPropertyChanged(string PropertyName)
20 {
21 if (PropertyChanged != null)
22 {
23 PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
24 }
25 }
26
27 SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
28 {
29 //数据库配置
30 ConnectionString = "Data Source=.;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=123456",
31
32 DbType = DbType.SqlServer,//设置数据库类型
33
34 IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放
35
36 InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息
37
38 });
39
40
41 private ObservableCollection<Users> userList;
42 /// <summary>
43 /// 用户集合
44 /// </summary>
45 public ObservableCollection<Users> UserList
46 {
47 get
48 {
49 if (userList == null)
50 {
51 userList = new ObservableCollection<Users>();
52 //设置数据源 //也可以直接写查询
53 userList = new ObservableCollection<Users>(db.Queryable<Users>().ToList());
54 }
55 return userList;
56 }
57 set {
58 if (userList == null)
59 {
60 userList = new ObservableCollection<Users>();
61 }
62 userList = value;
63 //当UserList实体的数据发生改变时实现属性更改通知
64 OnPropertyChanged("UserList");
65 }
66 }
67
68 private Users selectWhere;
69
70 public Users SelectWhere