WPF异步命令以及SqlSugar异步增删改查
1、异步
/// <summary>
/// 查询全部
/// </summary>
/// <returns></returns>
public async Task<List<IgniteTubeInfo>> QueryListAsync()
{
return await db.Queryable<IgniteTubeInfo>().ToListAsync();
}
/// <summary>
/// 跟据Id查询
/// </summary>
/// <returns></returns>
public async Task<List<IgniteTubeInfo>> QueryByIdAsync(int id)
{
return await db.Queryable<IgniteTubeInfo>().Where(it=>it.Id==id).ToListAsync();
}
/// <summary>
/// 跟据Name查询
/// </summary>
/// <returns></returns>
public async Task<List<IgniteTubeInfo>> QueryByNameAsync(string name)
{
return await db.Queryable<IgniteTubeInfo>().Where(it => it.IgniteName==name).ToListAsync();
}
/// <summary>
/// 修改
/// </summary>
/// <param name="igniteTubeInfo"></param>
/// <returns></returns>
public async Task UpdateAsync(IgniteTubeInfo igniteTubeInfo)
{
await db.Updateable(igniteTubeInfo).ExecuteCommandAsync();
}
/// <summary>
/// 跟据Id删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public async Task DeleteAsync(int id)
{
await db.Deleteable<IgniteTubeInfo>().Where(u => u.Id == id).ExecuteCommandAsync();
}
2、命令
//自定义一个异步命令
public class AsyncCommand : ICommand
{
private bool _isExecuting;
private readonly Func<Task> _execute;
private readonly Func<bool> _canExecute;
public AsyncCommand(Func<Task> execute, Func<bool> canExecute = null)
{
_execute = execute;
_canExecute = canExecute;
}
public bool CanExecute(object parameter)
{
return !_isExecuting && (_canExecute?.Invoke() ?? true);
}
public async void Execute(object parameter)
{
if (CanExecute(parameter))
{
try
{
_isExecuting = true;
await _execute();
}
finally
{
_isExecuting = false;
}
}
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
}
//使用
private AsyncCommand _canelCommand;
public AsyncCommand CancelCommand =>
_canelCommand ?? (_canelCommand = new AsyncCommand(ExecuteCanel));
private void ExecuteCanel()
{
}
WPF异步命令以及SqlSugar异步增删改查的更多相关文章
- Android_ADB 常用 shell命令 和 sqlite3 简单增删改查
今天学习了一个ADB的常用命令.接下来简单使用几个常用ADB shell 命令. 首先我们得明白什么是adb.exe ADB -Android Debug Bridge, 是 Android sdk ...
- MongoDB 基础命令——数据库表的增删改查——遍历操作表中的记录
分组排序查询最大记录 //对 "catagory" 不等于 null 的数据进行分组查询,且查询结果倒序 db.getCollection('userAccount').aggre ...
- C# 数据操作系列 - 15 SqlSugar 增删改查详解
0. 前言 继上一篇,以及上上篇,我们对SqlSugar有了一个大概的认识,但是这并不完美,因为那些都是理论知识,无法描述我们工程开发中实际情况.而这一篇,将带领小伙伴们一起试着写一个能在工程中使用的 ...
- mongodb增删改查常用命令总结
前言 去年我还折腾过mongodb,后来用不到也就没碰了,这就导致了我忘的一干二净,不得不感叹,编程这东西只要不用,就会忘没了.现在我想重拾mongodb,来总结一下常用命令,主要就是增删改查. 另外 ...
- Django学习之mysql增删改查
上节介绍了如何使用命令行操作mysql增删改查,现在介绍如何使用python管理mysql 使用pip 下载完mysql后,mysql会以pymysql模块的形式存储在pycharm的包文件里.我们通 ...
- Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)
Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...
- Django 之 文件配置、pycharm及django连接数据库、创表及表的增删改查02
目录 创建项目后的文件夹配置 静态文件配置 接口前缀动态绑定 form表单回顾 根据请求方式的不同,返回前端不同的信息 pycharm 连接MYSQL数据库 Django 连接MYSQL数据库的配置 ...
- Django静态文件配置-request方法-ORM简介-字段的增删改查
app的创建注意事项: 在Django新创建的app要在seetings.py中添加注册,才会生效 创建app:django-adminapp an startapp app名称 或者 python3 ...
- 用户增删改查 django生命周期 数据库操作
一 django生命周期 1 浏览器输入一个请求(get/post)2 响应到django程序中3 执行到url,url通过请求的地址匹配到不同的视图函数4 执行对应的视图函数,此过程可以查询数据库, ...
- [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?
[译]聊聊C#中的泛型的使用(新手勿入) 写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...
随机推荐
- Linux-expect(以交互形式输入命令,实现交互通信)
1.expect简介 expect是一种脚本语言,它能够代替人工实现与终端的交互,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信. 安装命令: yum install ex ...
- Linux--Vi编辑命令(插入、替换、命令行模式、撤销)
1.进入插入模式(6个命令) [i] 从目前光标所在处插入 [I] 从目前光标 [a] 从当前光标所在的下一个字符处开始插入 [A] 从光标所在行的最后一个字符处开始插入 [o] 英文小写字母o,在目 ...
- ABC 305
题目列表 前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠 即可. E 题意:一张图上有一些结点有保安,每个保安有不同的警戒度 \(h_i\),定义 一个结点是安全的 为这个结点可以 ...
- 2023 NOI春季测试游记
前言: 知周所众,在 2023.3.4 ,圈钱因部分地区 NOIP 趋势了而组织举办了春测,这个蒟蒻本来没有 NOIP 的资格,但却去上了春测. 3.2 晚上jijidawang来发表,结果少无数份( ...
- React axios 使用 http-proxy-middleware 解决跨域问题小记
壹 ❀ 引 在上篇bug分析的记录文中,提到axios可做到取消接口请求,所以想写一篇关于axios.CancelToken使用以及原理分析的文章(主要是自己好奇到底如何做到的取消).在准备工作阶段, ...
- NC16611 [NOIP2009]最优贸易
题目链接 题目 题目描述 C国有n个大城市和m条道路,每条道路连接这n个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这m条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向 ...
- SpringBoot 2.6 和 JUnit 5 的测试用例注解和排序方式
JUnit5 的测试注解 在JUnit5中, 不再使用 @RunWith 注解, 改为使用 @ExtendWith(SpringExtension.class) @ExtendWith(SpringE ...
- Jenkins安装和Host key verification failed问题的处理
在Centos7上安装的Jenkins 2.303.1 命令行安装为服务 因为新版本的Jenkins的war是用java -jar启动, 并且无法后台运行, 所以要么通过screen创建一个sessi ...
- Java设计模式-单例模式Singleton
介绍 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法). 比如 Hibernate 的 SessionF ...
- 串口通信RXTXcomm使用
一.串口通信原理 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节. 尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时 ...