C#中FreeSql的数据操作使用

本章对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的操作,欢迎补充。
小白路漫漫,让我们一起加油!!!!

猜你喜欢

转载自blog.csdn.net/weixin_52473844/article/details/134929621