1、新建一个WPF应用(NET Framework)
2、安装SqlSugar NuGet包
3、在SqlSugar4.x下载代码生成器:https://www.donet5.com/Doc/8/1137
4、在WPF中新建三个文件夹 Models 主要放实体类、Views 主要放窗体、ViewModels 主要是View逻辑的实现
5、把生成的实体类放到Models文件夹内,在ViewModels 新建一个类DelegateCommands.cs
切记在实体类的加上
public object Clone()
{
return (Object)this.MemberwiseClone();
}
public class DelegateCommands : ICommand
{
//当命令可执行状态发生改变时,应当被激发
public event EventHandler CanExecuteChanged;
public Action<object> ExecuteCommand = null;
public Func<object, bool> CanExecuteCommand = null;
/// <summary>
/// 用于判断命令是否可以执行
/// </summary>
/// <param name="parameter"></param>
/// <returns></returns>
public bool CanExecute(object parameter)
{
if (CanExecuteCommand !=null)
{
return CanExecuteCommand(parameter);
}
else
{
return true;
}
}
/// <summary>
/// 命令执行
/// </summary>
/// <param name="parameter"></param>
public void Execute(object parameter)
{
if (ExecuteCommand !=null)
{
ExecuteCommand(parameter);
}
}
6、ViewModel新建UserViewModel.cs
public class UserViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string PropertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
}
}
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
//数据库配置
ConnectionString = "Data Source=.;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=123456",
DbType = DbType.SqlServer,//设置数据库类型
IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放
InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息
});
private ObservableCollection<Users> userList;
/// <summary>
/// 用户集合
/// </summary>
public ObservableCollection<Users> UserList
{
get
{
if (userList == null)
{
userList = new ObservableCollection<Users>();
//设置数据源 //也可以直接写查询
userList = new ShowDataViewModel().GetUsers();
}
return userList;
}
set {
if (userList == null)
{
userList = new ObservableCollection<Users>();
}
userList = value;
OnPropertyChanged("UserList");
}
}
public Users selectUser;
/// <summary>
/// 被选中的用户
/// </summary>
public Users SelectUser
{
get
{
if (selectUser == null)
{
selectUser = new Users();
}
return selectUser;
}
set
{
if (selectUser == null)
{
selectUser = new Users();
}
selectUser = value;