本章对FreeSql对数据库的操作进行撰写,如要看如何实现FreeSql可参考我的上一篇文章。C#中使用FreeSql进行数据库操作,并在WPF的MVVM模式下使用
这个是关于FreeSql的网站,大家可以参考一下。FreeSql教程网址
话不多说,直接上代码。
- 新增
public virtual T Create(T entity)
{
if (entity.Id == 0) {
entity.Id = Snowflake.Instance().GetId();
}
entity.CreatedAt = DateTime.Now;
entity.UpdatedAt = DateTime.Now;
database.FreeSql.Insert(entity).ExecuteAffrows();
return entity;
}
- 删除(根据id)
public virtual bool Delete(long id)
{
database.FreeSql.Delete<T>(new[] {
id}).ExecuteAffrows();
return true;
}
- 查询(工具id)
public virtual T Get(long id)
{
return database.FreeSql.Select<T>().Where(a => a.Id == id).ToOne();
}
- 查询(所有)
public virtual IEnumerable<T> GetAll()
{
return database.FreeSql.Select<T>().OrderByDescending(o => o.Id).ToList();
}
- 修改
public virtual T Update(string code, T entity)
{
Debug.WriteLine(database.FreeSql.Update<T>().SetSource(entity).ToSql());
database.FreeSql.Update<T>().SetSource(entity).ExecuteAffrows();
return entity;
}
修改操作,输入参数,可自行根据此参数进行修改。
- 分页
public IEnumerable<T> GetPagedOperations(int pageIndex, int pageSize, out int pageCout)
{
long total = 0;
var items = database.FreeSql.Select<T>().OrderByDescending(d => d.StartDate).Count(out total).Page(pageIndex, pageSize).ToList();
pageCout = int.Parse(total.ToString()) / pageSize + 1;
return items;
}
一些简单关于FreeSql的操作,欢迎补充。
小白路漫漫,让我们一起加油!!!!