<%--
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;
}
}
}