Model模板文件:
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special informational header" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Text" %>
<%@ Property Name="NameSpace" Type="String" Category="Context" Description="The namespace to use for this class" %>
<%@ Property Name="TableName" Type="SchemaExplorer.TableSchema" DeepLoad="True" Optional="False" Category="Context" Description="The name of the table to generate" %>
<%@ Property Name="Author" Type="String" Category="Context" Description="Author" %>
<%@ Property Name="TablePrefix" Type="System.String" Default="T" Category="Context" Description="The prefix to remove from table names" %>
/*------------------------------------------------
// File Name:<%=ClearPrefix(TableName.Name) %>Info.cs
// File Description:<%=ClearPrefix(TableName.Name) %> DataBase Entity
// Author:<%=Author%>
// Create Time:<%= DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")%>
//------------------------------------------------*/
using System;
namespace <%=NameSpace%>.Model
{
/// <summary>
/// Description <%=TableName.Description %>
/// </summary>
[Serializable]
public class <%=ClearPrefix(TableName.Name) %>Info
{
#region Private Protery
<%for(int i=0;i<TableName.Columns.Count;i++){%>
private <%=CSharpType(TableName.Columns[i])%> _<%=TableName.Columns[i].Name.Substring(0,1).ToLower()+TableName.Columns[i].Name.Substring(1,TableName.Columns[i].Name.Length-1)%>;
<%}%>
#endregion
#region Constructor
/// <summary>
/// <%=ClearPrefix(TableName.Name) %> Constructor
/// </summary>
public <%=ClearPrefix(TableName.Name) %>Info()
{
}
/// <summary>
/// <%=ClearPrefix(TableName.Name) %> Constructor With Parameters
/// </summary>
<%for(int i=0;i<TableName.Columns.Count;i++){%>
///<param name="<%=TableName.Columns[i].Name.Substring(0,1).ToLower()+TableName.Columns[i].Name.Substring(1,TableName.Columns[i].Name.Length-1)%>"><%if(TableName.Columns[i].Description.Length>0){%><%=TableName.Columns[i].Name+" "+TableName.Columns[i].Description%><%}else{%><%=TableName.Columns[i].Name%><%}%></param>
<%}%>
public <%=ClearPrefix(TableName.Name) %>Info(<%for(int i=0;i<TableName.Columns.Count;i++){%><%=CSharpType(TableName.Columns[i])%> <%=TableName.Columns[i].Name.Substring(0,1).ToLower()+TableName.Columns[i].Name.Substring(1,TableName.Columns[i].Name.Length-1)%><% if (i < TableName.Columns.Count - 1) { %>,<%}%><%}%>)
{
<%for(int i=0;i<TableName.Columns.Count;i++){%>
this._<%=TableName.Columns[i].Name.Substring(0,1).ToLower()+TableName.Columns[i].Name.Substring(1,TableName.Columns[i].Name.Length-1)%> = <%=TableName.Columns[i].Name.Substring(0,1).ToLower()+TableName.Columns[i].Name.Substring(1,TableName.Columns[i].Name.Length-1)%>;
<%}%>
}
#endregion
#region Public Property
<%for(int i=0;i<TableName.Columns.Count;i++){%>
///<Summary>
/// <%=TableName.Columns[i].Name%><%if(TableName.Columns[i].Description.Length>0){%>
/// <%=TableName.Columns[i].Description%><%}%>
///</Summary>
public <%=CSharpType(TableName.Columns[i]).Trim()%> <%=TableName.Columns[i].Name%>
{
get { return _<%=TableName.Columns[i].Name.Substring(0,1).ToLower()+TableName.Columns[i].Name.Substring(1,TableName.Columns[i].Name.Length-1)%>; }
set { _<%=TableName.Columns[i].Name.Substring(0,1).ToLower()+TableName.Columns[i].Name.Substring(1,TableName.Columns[i].Name.Length-1)%> = value; }
}
<%}%>
#endregion
}
}
<script runat="template">
public string CSharpType(ColumnSchema column)
{
if (column.Name.EndsWith("TypeCode")) return column.Name;
switch (column.DataType)
{
case DbType.AnsiString:
case DbType.String:
case DbType.StringFixedLength:
case DbType.AnsiStringFixedLength: return "string";
case DbType.VarNumeric:
case DbType.Currency:
case DbType.Decimal: return "decimal";
case DbType.Binary: return "byte[]";
case DbType.Boolean: return "bool";
case DbType.Byte: return "byte";
case DbType.Date: return "DateTime";
case DbType.DateTime: return "DateTime";
case DbType.Double: return "double";
case DbType.Guid: return "Guid";
case DbType.Int16: return "short";
case DbType.Int32: return "int";
case DbType.Int64: return "long";
case DbType.Object: return "object";
case DbType.SByte: return "sbyte";
case DbType.Single: return "float";
case DbType.Time: return "TimeSpan";
case DbType.UInt16: return "ushort";
case DbType.UInt32: return "uint";
case DbType.UInt64: return "ulong";
default:
{
return "__UNKNOWN__" + column.NativeType;
}
}
}
public string ClearPrefix(string name)
{
int mIndex=name.IndexOf(TablePrefix);
string strResult=name.Remove(0,TablePrefix.Length);
return strResult;
}
</script>
IDAL模板文件:
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special informational header" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Text" %>
<%@ Property Name="Namespace" Type="String" Category="Context" Description="The namespace to use for this class" %>
<%@ Property Name="TableName" Type="SchemaExplorer.TableSchema" DeepLoad="True" Optional="False" Category="Context" Description="The name of the table to generate" %>
<%@ Property Name="Author" Type="String" Category="Context" Description="Author" %>
<%@ Property Name="TablePrefix" Type="System.String" Default="T" Category="Context" Description="The prefix to remove from table names" %>
/*------------------------------------------------
// File Name:I<%=ClearPrefix(TableName.Name) %>.cs
// File Description:<%=ClearPrefix(TableName.Name) %> Interface
// Author:<%=Author%>
// Create Time:<%= DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")%>
//------------------------------------------------*/
using System;
using System.Text;
using System.Collections.Generic;
using <%=Namespace%>.Model;
namespace <%=Namespace%>.IDAL
{
/// <summary>
/// <%=ClearPrefix(TableName.Name) %> Interface
/// </summary>
public interface I<%=ClearPrefix(TableName.Name) %>
{
/// <summary>
/// Add <%=ClearPrefix(TableName.Name) %>
/// </summary>
/// <param name="model"><%=ClearPrefix(TableName.Name) %> Model</param>
/// <returns>True or False</returns>
bool Add(<%=ClearPrefix(TableName.Name) %>Info model);
/// <summary>
/// Delete <%=ClearPrefix(TableName.Name) %> By ID
/// </summary>
/// <param name="id"><%=ClearPrefix(TableName.Name) %> ID</param>
/// <returns>True or False</returns>
bool DeleteByID(int id);
/// <summary>
/// Delete <%=ClearPrefix(TableName.Name) %> By Name
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns>True or False</returns>
bool DeleteByName(string name);
/// <summary>
/// Update <%=ClearPrefix(TableName.Name) %>
/// </summary>
/// <param name="model"><%=ClearPrefix(TableName.Name) %> Model</param>
/// <returns>True or False</returns>
bool Update(<%=ClearPrefix(TableName.Name) %>Info model);
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> By ID
/// </summary>
/// <param name="id"><%=ClearPrefix(TableName.Name) %> ID</param>
/// <returns><%=ClearPrefix(TableName.Name) %> Model</returns>
<%=ClearPrefix(TableName.Name) %>Info Get<%=ClearPrefix(TableName.Name) %>InfoByID(int id);
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> By Name
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns><%=ClearPrefix(TableName.Name) %> Model</returns>
<%=ClearPrefix(TableName.Name) %>Info Get<%=ClearPrefix(TableName.Name) %>InfoByName(string name);
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> List
/// </summary>
/// <returns><%=ClearPrefix(TableName.Name) %> List</returns>
IList<<%=ClearPrefix(TableName.Name) %>Info> Get<%=ClearPrefix(TableName.Name) %>ListByPage();
/// <summary>
/// Check If <%=ClearPrefix(TableName.Name) %> Exist
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns>True or False</returns>
bool Is<%=ClearPrefix(TableName.Name) %>Exist(string name);
}
}
<script runat="template">
public string ClearPrefix(string name)
{
int mIndex=name.IndexOf(TablePrefix);
string strResult=name.Remove(0,TablePrefix.Length);
return strResult;
}
</script>
SQLServerDAL模板文件:
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special informational header" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Text" %>
<%@ Property Name="Namespace" Type="String" Category="Context" Description="The namespace to use for this class" %>
<%@ Property Name="TableName" Type="SchemaExplorer.TableSchema" DeepLoad="True" Optional="False" Category="Context" Description="The name of the table to generate" %>
<%@ Property Name="Author" Type="String" Category="Context" Description="Author" %>
<%@ Property Name="TablePrefix" Type="System.String" Default="T" Category="Context" Description="The prefix to remove from table names" %>
/*------------------------------------------------
// File Name:<%=ClearPrefix(TableName.Name) %>.cs
// File Description:<%=ClearPrefix(TableName.Name) %> SQL Server DataBase Access
// Author:<%=Author%>
// Create Time:<%= DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")%>
//------------------------------------------------*/
using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using <%=Namespace%>.Model;
using <%=Namespace%>.IDAL;
namespace <%=Namespace%>.DAL
{
/// <summary>
/// <%=ClearPrefix(TableName.Name) %>
/// </summary>
public class <%=ClearPrefix(TableName.Name) %>:I<%=ClearPrefix(TableName.Name) %>
{
public <%=ClearPrefix(TableName.Name) %>(){}
#region <%=ClearPrefix(TableName.Name) %> Interface Implement
/// <summary>
/// Add <%=ClearPrefix(TableName.Name) %>
/// </summary>
/// <param name="model"><%=ClearPrefix(TableName.Name) %> Model</param>
/// <returns>True or False</returns>
public bool Add(<%=ClearPrefix(TableName.Name) %>Info model){
SqlParameter[] param = new SqlParameter[<%=TableName.Columns.Count-1 %>];
<%for(int i=0;i<TableName.Columns.Count;i++){
if(((bool)TableName.Columns[i].ExtendedProperties["CS_IsIdentity"].Value) == true)
{
continue;
}%>
param[<%=i %>] = new SqlParameter("@<%=TableName.Columns[i].Name%>",model.<%=TableName.Columns[i].Name%>);
<%}%>
try
{
SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure,"SP_Add<%=ClearPrefix(TableName.Name) %>", param);
return true;
}catch
{
return false;
}
}
/// <summary>
/// Delete <%=ClearPrefix(TableName.Name) %> By ID
/// </summary>
/// <param name="id"><%=ClearPrefix(TableName.Name) %> ID</param>
/// <returns>True or False</returns>
public bool DeleteByID(int id){
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@id", id);
try
{
SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure,"SP_Del<%=ClearPrefix(TableName.Name) %>ByID", param);
return true;
}catch
{
return false;
}
}
/// <summary>
/// Delete <%=ClearPrefix(TableName.Name) %> By Name
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns>True or False</returns>
public bool DeleteByName(string name){
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@name",name);
try
{
SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure,"SP_Del<%=ClearPrefix(TableName.Name) %>ByName", param);
return true;
}catch
{
return false;
}
}
/// <summary>
/// Update <%=ClearPrefix(TableName.Name) %>
/// </summary>
/// <param name="model"><%=ClearPrefix(TableName.Name) %> Model</param>
/// <returns>True or False</returns>
public bool Update(<%=ClearPrefix(TableName.Name) %>Info model){
SqlParameter[] param = new SqlParameter[<%=TableName.Columns.Count-1 %>];
<%for(int i=0;i<TableName.Columns.Count;i++){%>
param[<%=i %>] = new SqlParameter("@<%=TableName.Columns[i].Name%>",model.<%=TableName.Columns[i].Name%>);
<%}%>
try
{
SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure,"SP_Update<%=ClearPrefix(TableName.Name) %>", param);
return true;
}catch
{
return false;
}
}
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> By ID
/// </summary>
/// <param name="id"><%=ClearPrefix(TableName.Name) %> ID</param>
/// <returns><%=ClearPrefix(TableName.Name) %> Model</returns>
public <%=ClearPrefix(TableName.Name) %>Info Get<%=ClearPrefix(TableName.Name) %>InfoByID(int id){
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@id", id);
<%=ClearPrefix(TableName.Name) %>Info model = null;
using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.StoredProcedure,"SP_Get<%=ClearPrefix(TableName.Name) %>ByID", param))
{
while (dr.Read())
{
model = Get<%=ClearPrefix(TableName.Name) %>Model(dr);
}
return model;
}
}
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> By Name
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns><%=ClearPrefix(TableName.Name) %> Model</returns>
public <%=ClearPrefix(TableName.Name) %>Info Get<%=ClearPrefix(TableName.Name) %>InfoByName(string name){
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@name", name);
<%=ClearPrefix(TableName.Name) %>Info model = null;
using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.StoredProcedure,"SP_Get<%=ClearPrefix(TableName.Name) %>ByName", param))
{
while (dr.Read())
{
model = Get<%=ClearPrefix(TableName.Name) %>Model(dr);
}
return model;
}
}
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> List
/// </summary>
/// <returns><%=ClearPrefix(TableName.Name) %> List</returns>
public IList<<%=ClearPrefix(TableName.Name) %>Info> Get<%=ClearPrefix(TableName.Name) %>ListByPage(){
using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.StoredProcedure, "SP_Get<%=ClearPrefix(TableName.Name) %>ListByPage", null))
{
IList<<%=ClearPrefix(TableName.Name) %>Info> list = new List<<%=ClearPrefix(TableName.Name) %>Info>();
while(dr.Read())
{
list.Add(Get<%=ClearPrefix(TableName.Name) %>Model(dr));
}
return list;
}
}
/// <summary>
/// Check If <%=ClearPrefix(TableName.Name) %> Exist
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns>True or False</returns>
public bool Is<%=ClearPrefix(TableName.Name) %>Exist(string name){
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@name", name);
return Convert.ToBoolean(SQLHelper.ExecuteScalar(CommandType.StoredProcedure,"SP_Is<%=ClearPrefix(TableName.Name) %>Exist", param));
}
#endregion
#region Private Methods
private <%=ClearPrefix(TableName.Name) %>Info Get<%=ClearPrefix(TableName.Name) %>Model(SqlDataReader dr){
<%=ClearPrefix(TableName.Name) %>Info model=new <%=ClearPrefix(TableName.Name) %>Info();
<%for(int i=0;i<TableName.Columns.Count;i++){%>
model.<%=TableName.Columns[i].Name%>=SQLDataHelper.<%=CSharpType(TableName.Columns[i])%>(dr, "<%=TableName.Columns[i].Name%>");
<%}%>
return model;
}
private IList<<%=ClearPrefix(TableName.Name) %>Info> Get<%=ClearPrefix(TableName.Name) %>List(SqlDataReader dr){
IList<<%=ClearPrefix(TableName.Name) %>Info> list = new List<<%=ClearPrefix(TableName.Name) %>Info>();
while (dr.Read())
{
list.Add(Get<%=ClearPrefix(TableName.Name) %>Model(dr));
}
return list;
}
#endregion
}
}
<script runat="template">
public string CSharpType(ColumnSchema column)
{
if (column.Name.EndsWith("TypeCode")) return column.Name;
switch (column.DataType)
{
case DbType.AnsiString:
case DbType.String:
case DbType.StringFixedLength:
case DbType.AnsiStringFixedLength: return "GetString";
case DbType.Int16:
case DbType.Int32:
case DbType.Int64:
case DbType.UInt16:
case DbType.UInt32:
case DbType.UInt64: return "GetInt";
case DbType.Time:
case DbType.Date:
case DbType.DateTime: return "GetDateTime";
case DbType.Binary:
case DbType.SByte:
case DbType.Byte: return "GetBytes";
case DbType.VarNumeric:
case DbType.Currency:
case DbType.Decimal: return "GetDecimal";
case DbType.Single:
case DbType.Double: return "GetDouble";
case DbType.Boolean: return "GetBoolean";
case DbType.Guid: return "GetGuid";
case DbType.Object: return "GetObject";
default:
{
return "__UNKNOWN__" + column.NativeType;
}
}
}
public string ClearPrefix(string name)
{
int mIndex=name.IndexOf(TablePrefix);
string strResult=name.Remove(0,TablePrefix.Length);
return strResult;
}
</script>
BLL模板文件:
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special informational header" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Text" %>
<%@ Property Name="Namespace" Type="String" Category="Context" Description="The namespace to use for this class" %>
<%@ Property Name="TableName" Type="SchemaExplorer.TableSchema" DeepLoad="True" Optional="False" Category="Context" Description="The name of the table to generate" %>
<%@ Property Name="Author" Type="String" Category="Context" Description="Author" %>
<%@ Property Name="TablePrefix" Type="System.String" Default="T" Category="Context" Description="The prefix to remove from table names" %>
/*------------------------------------------------
// File Name:<%=ClearPrefix(TableName.Name) %>BLL.cs
// File Description:<%=ClearPrefix(TableName.Name) %> Business Logic
// Author:<%=Author%>
// Create Time:<%= DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")%>
//------------------------------------------------*/
using System;
using System.Text;
using System.Collections.Generic;
using <%=Namespace%>.Model;
using <%=Namespace%>.IDAL;
namespace <%=Namespace%>.BLL
{
/// <summary>
/// <%=ClearPrefix(TableName.Name) %>BLL
/// </summary>
public class <%=ClearPrefix(TableName.Name) %>BLL
{
//Get <%=ClearPrefix(TableName.Name) %> Entity Class from Factory Layer
private static readonly I<%=ClearPrefix(TableName.Name) %> dal = <%=Namespace%>.DALFactory.DataAccess.<%=ClearPrefix(TableName.Name) %>();
/// <summary>
/// Add <%=ClearPrefix(TableName.Name) %>
/// </summary>
/// <param name="model"><%=ClearPrefix(TableName.Name) %> Model</param>
/// <returns>True or False</returns>
public bool Add(<%=ClearPrefix(TableName.Name) %>Info model){
return dal.Add(model);
}
/// <summary>
/// Delete <%=ClearPrefix(TableName.Name) %> By ID
/// </summary>
/// <param name="id"><%=ClearPrefix(TableName.Name) %> ID</param>
/// <returns>True or False</returns>
public bool DeleteByID(int id){
return dal.DeleteByID(id);
}
/// <summary>
/// Delete <%=ClearPrefix(TableName.Name) %> By Name
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns>True or False</returns>
public bool DeleteByName(string name){
return dal.DeleteByName(name);
}
/// <summary>
/// Update <%=ClearPrefix(TableName.Name) %>
/// </summary>
/// <param name="model"><%=ClearPrefix(TableName.Name) %> Model</param>
/// <returns>True or False</returns>
public bool Update(<%=ClearPrefix(TableName.Name) %>Info model){
return dal.Update(model);
}
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> By ID
/// </summary>
/// <param name="id"><%=ClearPrefix(TableName.Name) %> ID</param>
/// <returns><%=ClearPrefix(TableName.Name) %> Model</returns>
public <%=ClearPrefix(TableName.Name) %>Info Get<%=ClearPrefix(TableName.Name) %>InfoByID(int id){
return dal.Get<%=ClearPrefix(TableName.Name) %>InfoByID(id);
}
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> By Name
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns><%=ClearPrefix(TableName.Name) %> Model</returns>
public <%=ClearPrefix(TableName.Name) %>Info Get<%=ClearPrefix(TableName.Name) %>InfoByName(string name){
return dal.Get<%=ClearPrefix(TableName.Name) %>InfoByName(name);
}
/// <summary>
/// Get <%=ClearPrefix(TableName.Name) %> List
/// </summary>
/// <returns><%=ClearPrefix(TableName.Name) %> List</returns>
public IList<<%=ClearPrefix(TableName.Name) %>Info> Get<%=ClearPrefix(TableName.Name) %>ListByPage(){
return dal.Get<%=ClearPrefix(TableName.Name) %>ListByPage();
}
/// <summary>
/// Check If <%=ClearPrefix(TableName.Name) %> Exist
/// </summary>
/// <param name="name"><%=ClearPrefix(TableName.Name) %> Name</param>
/// <returns>True or False</returns>
public bool Is<%=ClearPrefix(TableName.Name) %>Exist(string name){
return dal.Is<%=ClearPrefix(TableName.Name) %>Exist(name);
}
}
}
<script runat="template">
public string ClearPrefix(string name)
{
int mIndex=name.IndexOf(TablePrefix);
string strResult=name.Remove(0,TablePrefix.Length);
return strResult;
}
</script>