T4模板-DrapperBll.cst

<%-- 
Name: 数据实体模板
Author: lizhongxiang
Description: 根据数据库表生成数据实体层
--%>

<%@ Template Language="C#" TargetLanguage="Text" %>
<%@ Property Name="Namespace" Type="String" %>
<%@ Property Name="DataBase" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Database that the documentation should be based on." %>
<%@ Property Name="Author" Type="String" Optional="True" Default="lizhongxiang" Category="Context" Description="编写此模块的作者" %>
<%@ Property Name="Table" Type="TableSchema" DeepLoad="True" Optional="False" Category="Context" Description="" %>
 
<%@ Assembly Name="SchemaExplorer" %>
<%@ Assembly Name="System.Design" %>
<%@ Import Namespace="SchemaExplorer" %>
/**
 * 名称: <%= this.Table.Name %>
 * 作者: <%= Author %>
 * 时间: <%= DateTime.Now.ToString("yyyy-MM-dd") %>
 * 版本: 1
 * 说明: <%= string.IsNullOrEmpty(this.Table.Description) ? this.Table.Name : this.Table.Description %> 数据实体类
 * 
 * 历史:
 * 版本<%= "\t\t"%>时间<%= "\t\t\t"%>修改人<%= "\t\t"%>说明
 * 1<%= "\t\t"%><%= DateTime.Now.ToString("yyyy-MM-dd") %><%= "\t\t"%><%= Author %><%= "\t\t"%>创建本文件
 */

using System;
using System.Collections.Generic;
using System.linq;
using System.Text;
using <%=Namespace%>.Model;
using Dapper;
using System.Collections;
 
namespace <%=Namespace%>
{
    public class <%= Table.Name%>Bll
    {
        //增 删 改 查  分页
        
        /// <summary>
        /// 插入
        /// </summary>
        public static bool Insert(<%= Table.Name%> model)
        {
            string sql = @"INSERT INTO <%= Table.Name%>
                <%System.Text.StringBuilder sbSql=new System.Text.StringBuilder();%>
                <%
                foreach(ColumnSchema col in Table.Columns){ 
                    if(!col.IsPrimaryKeyMember){ 
                        sbSql.AppendLine(col.Name+",");
                    }
                } %>(<%=sbSql.ToString().Trim('\r','\n',',') %>)
                VALUES
                <%
                sbSql.Clear();
                foreach(ColumnSchema col in Table.Columns){ 
                    if(!col.IsPrimaryKeyMember){
                         sbSql.AppendLine("@"+col.Name+",");
                    }
                }
                %>
                (<%=sbSql.ToString().Trim('\r','\n',',') %>)";
               
                return DbHelper.Insert(sql,model);
        }
        
        
        /// <summary>
        /// 删除
        /// </summary>
        public static bool Delete(<%= Table.Name%> model)
        {
            string sql = @"Delete From <%= Table.Name%> where
                <%sbSql.Clear();%>
                <%
                foreach(ColumnSchema col in Table.Columns){ 
                    if(col.IsPrimaryKeyMember){ 
                        sbSql.AppendLine(col.Name+"=@"+ col.Name);
                    }
                } %> <%=sbSql.ToString().Trim('\r','\n',',') %>)";
               
                return DbHelper.Delete(sql,model);
        }
        
        /// <summary>
        /// 更新
        /// </summary>
        public static bool Update(<%= Table.Name%> model)
        {
            string sql = @"Update <%= Table.Name%> Set
                <%System.Text.StringBuilder sqlcondition=new System.Text.StringBuilder();%>
                <%sbSql.Clear();%>
                <%
                foreach(ColumnSchema col in Table.Columns){ 
                    if(!col.IsPrimaryKeyMember){ 
                        sbSql.AppendLine(col.Name+"=@"+ col.Name+",");
                    }
                } %> 
                <%=sbSql.ToString().Trim('\r','\n',',') %> 
                <%
               foreach(ColumnSchema col in Table.Columns){ 
                    if(col.IsPrimaryKeyMember){ 
                        sqlcondition.AppendLine("where "+col.Name+"=@"+ col.Name);
                    }
                } %>
               <%=sqlcondition.ToString().Trim('\r','\n',',') %>";
               
                return DbHelper.ExecuteNonQuery(sql,model)>0;
        }
        
        
        /// <summary>
        /// 根据主键获取实体
        /// </summary>
        public static <%= Table.Name%> GetModelById(object primaryKey)
        {
            <%= Table.Name%> model = new <%= Table.Name%>();
            <%sbSql.Clear();%>
            <%
                foreach(ColumnSchema col in Table.Columns){ 
                    if(col.IsPrimaryKeyMember){ 
                        sbSql.AppendLine(col.Name+"=primaryKey");
                    }
                } %> 
            model.<%=sbSql.ToString().Trim('\r','\n',',') %>;
             
            <%sbSql.Clear();%>
                <%
                foreach(ColumnSchema col in Table.Columns){ 
                    if(col.IsPrimaryKeyMember){ 
                        sbSql.AppendLine("where "+col.Name+"=@"+ col.Name);
                    }
                } %> 
                string sql = @"Select * From <%= Table.Name%> <%=sbSql.ToString().Trim('\r','\n',',') %>";
                return DbHelper.Query(sql,model);
        }
        
        /// <summary>
        /// 获取所有实体
        /// </summary>
        public static List<<%= Table.Name%>> GetModels(object primaryKey)
        {
            string sql = @"Select * From <%= Table.Name%>";
            <%sbSql.Clear();%>
            return DbHelper.QueryList<<%= Table.Name%>>(sql,model);
        }
        
        /// <summary>
        /// 分页
        /// </summary>
        public static PageDataView<<%= Table.Name%>> GetPageData(Pagination pager,string condition)
        {
            PageCriteria criteria = new PageCriteria();
            criteria.CurrentPage = pager.page;
            criteria.Fields = "*";
            criteria.PageSize = pager.rows;
            criteria.TableName = "<%= Table.Name%>";
            <%sbSql.Clear();%>
            <%foreach(ColumnSchema col in Table.Columns){ 
                    if(col.IsPrimaryKeyMember){ 
                        sbSql.AppendLine(col.Name);
                    }
                } %>
            criteria.PrimaryKey = "<%=sbSql.ToString().Trim('\r','\n',',') %>";
            var pages = DbHelper.GetPageData<<%= Table.Name%>>(criteria);

            return pages;
        }
        
        
        
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值