(4) 创建数据访问层

添加实体 

code\m\blog.cs

using SqlSugar;
using System;

namespace core_admin.m
{

        [SugarTable("tb_blog")]
        public class blog{

            [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
            /// <summary>
            /// 
            /// </summary>
            public long blog_id { get; set; }

            /// <summary>
            /// 标题
            /// </summary>
            public string blog_title { get; set; }

            /// <summary>
            /// 图片
            /// </summary>
            public string blog_image { get; set; }

            /// <summary>
            /// 描述
            /// </summary>
            public string blog_desc { get; set; }

            /// <summary>
            /// 内容
            /// </summary>
            public string blog_content { get; set; }

            /// <summary>
            /// 纯文本内容
            /// </summary>
            public string blog_content_text { get; set; }

            /// <summary>
            /// 添加日期
            /// </summary>
            public DateTime add_date { get; set; }

            /// <summary>
            /// 排序
            /// </summary>
            public int blog_sort { get; set; }

            /// <summary>
            /// 标签编号
            /// </summary>
            public string blog_tags { get; set; }


        }

}

添加接口

code\i\IBlog.cs

using core_admin.m;
using System;
using core_admin.utils;
using System.Collections.Generic;

namespace core_admin.i
{
    public interface IBlog
    {
        blog Get(long blog_id);
        long Insert(blog m_blog);
        void Update(blog m_blog);
        void Delete(long blog_id);
        List<blog> ListAll();
        List<blog> GetList(Filter f,int pageId, int pageSize, out int total);
        
    }
}

添加实现类

code\d\Dao_Blog.cs

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using core_admin.utils;
using SqlSugar;
using core_admin.d;
using core_admin.m;
using core_admin.i;
using core_admin.db;

namespace core_admin.d{

    public class Dao_Blog : IBlog {

        public blog Get(long blog_id)
        {
            SqlSugarClient instance = DbFactory.GetInstance();
            var list = instance.Queryable<blog>().Where(it=>it.blog_id == blog_id).ToList();
            if (list.Count > 0)
                return list[0];
            return null;
        }

        public List<blog> GetList(Filter f,int pageId,int pageSize,out int total){
            total = 0;
            SqlSugarClient instance = DbFactory.GetInstance();
            
			string filter = f.get_contain_item("filter");

            List<blog> list  = instance.Queryable<blog>()
                .Where(it=>(
                    (it.blog_title.Contains(filter)||it.blog_desc.Contains(filter)||it.blog_content.Contains(filter)||it.blog_content_text.Contains(filter)||it.blog_tags.Contains(filter)||filter.Equals(""))
                ))
                .OrderBy("blog_id")
                .ToPageList(pageId, pageSize, ref total).ToList();
            return list;
        }

        public long Insert(blog m_blog) 
        {
            int ret = 0;
            
            SqlSugarClient instance = DbFactory.GetInstance();
            //ExecuteReturnIdentity  ||  ExecuteCommand
            // ret =  || 
            ret = instance.Insertable(m_blog).ExecuteReturnIdentity();
            //  return ret; || 
            return ret;
        }


        public void Update(blog m_blog) 
        {
            SqlSugarClient instance = DbFactory.GetInstance();
            instance.Updateable(m_blog).ExecuteCommand();
        }


        public void Delete(long blog_id)
        {
            SqlSugarClient instance = DbFactory.GetInstance();
            instance.Deleteable<blog>().Where(it=>it.blog_id == blog_id).ExecuteCommand();
        }

        public List<blog> ListAll(){
            SqlSugarClient instance = DbFactory.GetInstance();
            return instance.Queryable<blog>().ToList();   
        }
        /*
        public long getNextId()
        {
            long id = 0;
            SqlSugarClient instance = DbFactory.GetInstance();
            id = instance.Queryable<blog>().Max(t => t.blog_id);
            id++;
            return id;
        }
        */

    }
}

补充一个类:

code\utils\Filter.cs

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace core_admin.utils
{
    public class Filter
    {
        public Hashtable equalSet { get; set; }

        public Hashtable containSet { get; set; }

        public Hashtable startsSet { get; set; }

        public Hashtable endsSet { get; set; }

        public Hashtable moreSet { get; set; }

        public Hashtable lessSet { get; set; }

    }

    public static class FilterHelper
    {
        public static string get_equal_item( this Filter f, string item)
        {
            string ret = "";
            if(f.equalSet!=null && f.equalSet.ContainsKey(item))
            {
                if (f.equalSet[item] != null)
                {
                    ret = f.equalSet[item].ToString();
                }
            }
            return ret;
        }

        public static string get_contain_item(this Filter f, string item)
        {
            string ret = "";
            if (f.containSet != null && f.containSet.ContainsKey(item))
            {
                if (f.containSet[item] != null)
                {
                    ret = f.containSet[item].ToString();
                }
            }
            return ret;
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ying1979

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值