dapper的增、删、查改的CodeSmith模板
<%@ 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<M<%= Table.Name%>>(@"select * from <%= Table.Name%> where OID=@OID", new { OID =id }).FirstOrDefault();
conn.Close();
return a;
}
} public Model.PageDataView<M<%= 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<M<%= Table.Name%>>(criteria); return r;
} }
}
dapper的增、删、查改的CodeSmith模板的更多相关文章
- WindowsForm 增 删 查 改
首先是连接数据库 在数据库里写代码 建立一个数据库下面是代码 create database JinXiaoCun go use JinXiaoCun go create table users ( ...
- 【基础篇】js对本地文件增删改查--改
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- 使用轻量级ORM Dapper进行增删改查
项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET.微软的EF.NH等.再跟经理讨论后,经理强调不要用Ef,NH做ORM,后期的sql优化不好做,公司 ...
- Dapper.Contrib——更加优雅地使用Dapper进行增删改查
简介 Dapper是介于Entity framework与ADO的折中选择.既满足手写查询的高性能需求,又简化了数据库对象映射为内存对象的繁杂工作.Dapper.Contrib是对Dapper的进一步 ...
- Dapper进行增删改查 z
http://www.cnblogs.com/huangkaiyan10/p/4640548.html 项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET ...
- Sqlserver 增删改查----改
--我们就以院系,班级,学生来举例. create TABLE [dbo].YuanXi ( Id ,) NOT NULL,--学校id 自增量 YuanXiName varchar() null, ...
- PHP数据库的 增 删 查
一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" meth ...
- Dapper基本增删改查
说明: 1.在using语句块中不用dbConnection.Open(),因为Execute方法中会Open,并且在执行完成会Close. 2.在Ado.Net中要手动Open,在Using语句块中 ...
- .net Core+Dapper MySQL增删改查
新建一个用户表,以该有为例 1.Model层 public class TuiUsers { public int id { get; set; } public string userName { ...
随机推荐
- Apache2.4中开通HTTP基本认证
Apache2.4中开通HTTP基本认证,需要在Apache的配置文件中增加如下代码 WSGIPassAuthorization On 否则则无法认证
- 使用 Windows10 自定义交互消息通知
消息通知是最常用的应用功能之一了,但是由于平台的差异,IOS Android 以及 Windows 都有其特殊性,Android开发者在国内常常都是使用三方的一些推送服务,或者是使用自建的服务器为应用 ...
- square开源vim,tmux配置在linux上使用
首先安装需要的软件 apt-get install vim ack-grep git tmux gnome-terminal ctags xclip silversearcher-ag 这里tmux需 ...
- POJ 2853 Sequence Sum Possibilities
Sequence Sum Possibilities Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5537 Accep ...
- 创维37K05HR黑屏有声音故障维修
转载1: 接一台创维新机37L05HR,1年多,刚过保.开机图像声音正常,放10分钟左右黑屏.声音正常.关机再开有正常.2分钟又出现黑屏.在保修期内,售后 来修两次此类故障都没有根治.拆机测5V 12 ...
- c/c++:重载 覆盖 隐藏 overload override overwrite
http://www.cnblogs.com/qlee/archive/2011/07/04/2097055.html 成员函数的重载.覆盖与隐藏成员函数的重载.覆盖(override)与隐藏很容易混 ...
- ruby 中文字符to_json后乱码(unicode)
今天遇到一个中文to_json问题 text = "第1章 青豆 不要被外表骗了" text.to_json => "\"\\u7b2c1\\u7ae0 ...
- [转载]QString 乱谈(3)-Qt5与中文
原文地址http://blog.csdn.net/dbzhang800/article/details/7542672?reload 两个月前,简单写过QTextCodec中的setCodecForT ...
- JS文件放在头还是尾
目前绝大部分的浏览器都是采取阻塞方式(Scripts Block Downloads)加载Javascript文件的:javascript在头部会阻止其他元素并行加载(css,图片,网页):这种机制的 ...
- 【转载】Unix Shell中用[-n]判断字符串不为NULL
转载自:http://blog.sina.com.cn/s/blog_541086430100mosm.html 在Unix Shell中,可以使用-n来判断一个string不是NULL值,但是之前却 ...