博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dapper的增、删、查改的CodeSmith模板
阅读量:6500 次
发布时间:2019-06-24

本文共 4304 字,大约阅读时间需要 14 分钟。

<%@ Template Language="C#" TargetLanguage="Text" %><%@ Property Name="BaseNamespace" Type="String" %><%@ Property Name="SourceDatabase" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Database that the documentation should be based on." %><%-- 要打印的表 --%><%@ Property Name="Table" Type="TableSchema" DeepLoad="True" Optional="False" Category="Context" Description="" %> <%@ Assembly Name="SchemaExplorer" %><%@ Assembly Name="System.Design" %><%@ Import Namespace="SchemaExplorer" %> using System;using System.Collections.Generic;using System.linq;using System.Text;using <%=BaseNamespace%>.Model;using Dapper;using MayHuan.Data;using System.Collections; namespace <%=BaseNamespace%>.Services{    public class <%= Table.Name%>Service:I<%= Table.Name%>    {        public bool Delete(M<%= Table.Name%> model)        {            using (var conn = DBCommon.GetConn())            {                conn.Open();                var a = conn.Execute(@"Delete from <%= Table.Name%> where OID=@OID", new { OID = model.OID });                conn.Close();                return a > 0;            }        }         public bool Insert(M<%= Table.Name%> model)        {            using (var conn = DBCommon.GetConn())            {                conn.Open();                var a = conn.Execute(@"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',',') %>)",        <%        sbSql.Clear();        foreach(ColumnSchema col in Table.Columns){         	if(!col.IsPrimaryKeyMember){         		sbSql.Append(col.Name+" = model."+col.Name+",");        	}        }        %>        new { <%=sbSql.ToString().Trim(',') %> });                conn.Close();                return a > 0;            }        }         public bool Update(M<%= Table.Name%> model)        {            using (var conn = DBCommon.GetConn())            {                conn.Open();                var a = conn.Execute(@"UPDATE <%= Table.Name%> SET         <%        sbSql.Clear();        foreach(ColumnSchema col in Table.Columns){             if(!col.IsPrimaryKeyMember){                 sbSql.AppendLine(col.Name+"=@"+col.Name+",");            }        }      %> <%=sbSql.ToString().Trim('\r','\n',',') %>   WHERE OID=@OID",        <%        sbSql.Clear();        foreach(ColumnSchema col in Table.Columns){         	if(!col.IsPrimaryKeyMember){         		sbSql.Append(col.Name+" = model."+col.Name+",");        	}        }        %>        new { <%=sbSql.ToString().Trim(',') %>,OID = model.OID });                conn.Close();                return a > 0;            }        }         public M<%= Table.Name%> GetModelByID(int id)        {            using (var conn = DBCommon.GetConn())            {                conn.Open();                var a = conn.Query
<%= Table.Name%>>(@"select * from <%= Table.Name%> where OID=@OID", new { OID =id }).FirstOrDefault(); conn.Close(); return a; } } public Model.PageDataView
<%= Table.Name%>> GetList(string companyName, int pageNum, int pageSize = 10) { var criteria = new PageCriteria(); criteria.CurrentPage = pageNum; criteria.Fields = "a.*"; criteria.PageSize = pageSize; criteria.PrimaryKey = "a.OID"; criteria.TableName = @"<%= Table.Name%> a"; string sqlFilter = "1=1"; if (!string.IsNullOrEmpty(companyName)) sqlFilter += string.Format(" and b.CompanyName like '%{0}%'", companyName); criteria.Condition += sqlFilter; var r = DBCommon.GetPageData
<%= Table.Name%>>(criteria); return r; } }}

  

转载地址:http://trvyo.baihongyu.com/

你可能感兴趣的文章
Word产品需求文档,已经过时了【转】
查看>>
dtoj#4299. 图(graph)
查看>>
关于网站的一些js和css常见问题的记录
查看>>
zabbix-3.4 触发器
查看>>
换用代理IP的Webbrowser方法
查看>>
【视频编解码·学习笔记】7. 熵编码算法:基础知识 & 哈夫曼编码
查看>>
spark集群安装部署
查看>>
MySql 查询表字段数
查看>>
mariadb 内存占用优化
查看>>
Centos7安装编译安装zabbix2.219及mariadb-5.5.46
查看>>
Visual Studio Remote Debugger(for 2005/2008) .net远程调试<转>
查看>>
怎么获得combobox的valueField值
查看>>
浅谈C/C++中的static和extern关键字
查看>>
Console-算法[if,while]-一输入两个正整数m和n,求其最大公约数和最小公倍数
查看>>
浅谈网络协议(四) IP的由来--DHCP与PXE
查看>>
jre与jdk的区别
查看>>
全景图的种类
查看>>
git 维护
查看>>
jfinal框架下使用c3P0连接池连接sql server 2008
查看>>
Jfinal Generator 不需要生成带某个前缀的表名数组的方法
查看>>