123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Data;
- using System.Data.Common;
- using System.Data.SqlClient;
- using Microsoft.Practices.EnterpriseLibrary.Data;
- using Befri.Query;
- using Befri.Goldhoo.Models;
- namespace Befri.Goldhoo.DataAccess
- {
- /// <summary>
- /// <%= Table.Text %>数据存取类
- /// 生成日期: <%= DateTime.Today.ToLongDateString() %> <%= DateTime.Now.ToShortTimeString() %>
- ///</summary>
- /// <remarks>
- /// 该文件是由代码生成器自动生成的, 请不要随意修改, 你的修改将在代码重新生成时会被覆盖,
- /// 如果要对该类进行修改, 请直接修改该分部类的<%= Table.AliasName %>DAO文件(文件名不含.designer)
- /// </remarks>
- public partial class <%= Table.AliasName %>DAO : BaseDAO
- {
- /// <summary>
- /// 返回满足查询条件的<%= Table.Text %>实体
- /// </summary>
- /// <param name="param">查询条件</param>
- /// <returns><%= Table.Text %>实体</returns>
- public <%= Table.AliasName %> Find<%= Table.AliasName%>(QueryParameter param)
- {
- string sql = @"<%= Request.Table.SqlBuilder.GetSelectCommandText() %>";
-
- if (param != null)
- {
- sql = QueryParameter.CompleteSqlString(sql, param);
- }
- DatabaseProviderFactory factory = new DatabaseProviderFactory();
- Database db = factory.CreateDefault();
- DbCommand command = db.GetSqlStringCommand(sql);
- if (param != null)
- {
- //设置参数
- foreach (IExpression exp in param.WhereExpressions)
- {
- if (exp is SimpleExpression)
- {
- SimpleExpression simple = exp as SimpleExpression;
- db.AddInParameter(command, simple.ExpName, simple.DbType, simple.Value);
- }
- }
- }
-
- <%= Table.AliasName %> <%= Table.aliasName %> = null;
-
- using (IDataReader dr = db.ExecuteReader(command))
- {
- if (dr.Read())
- {
- <%= Table.aliasName %> = new <%= Table.AliasName %>();
- <% foreach(ColumnSchema column in Table.Columns) {%>
- <%= GetFillValueString(column) %> <% } %>
- }
- }
-
- return <%= Table.aliasName %>;
- }
-
- /// <summary>
- /// 返回满足查询条件的<%= Table.Text %>实体列表
- /// </summary>
- /// <param name="param">查询条件</param>
- /// <returns><%= Table.Text %>实体列表</returns>
- public IList<<%= Table.AliasName %>> Get<%= Table.AliasName %>s(QueryParameter param)
- {
- string sql = @"<%= Request.Table.SqlBuilder.GetSelectCommandText() %>";
- if (param != null)
- {
- sql = QueryParameter.CompleteSqlString(sql, param);
- }
- DatabaseProviderFactory factory = new DatabaseProviderFactory();
- Database db = factory.CreateDefault();
- DbCommand command = db.GetSqlStringCommand(sql);
- if (param != null)
- {
- //设置参数
- foreach (IExpression exp in param.WhereExpressions)
- {
- if (exp is SimpleExpression)
- {
- SimpleExpression simple = exp as SimpleExpression;
- db.AddInParameter(command, simple.ExpName, simple.DbType, simple.Value);
- }
- }
- }
-
- IList<<%= Table.AliasName %>> list = new List<<%= Table.AliasName %>>();
-
- using (IDataReader dr = db.ExecuteReader(command))
- {
- while (dr.Read())
- {
- <%= Table.AliasName %> <%= Table.aliasName %> = new <%= Table.AliasName %>();
- <% foreach(ColumnSchema column in Table.Columns) {%>
- <%= GetFillValueString(column) %> <% } %>
-
- list.Add(<%= Table.aliasName %>);
- }
- }
-
- return list;
- }
-
- partial void OnInserting(<%= Table.AliasName %> <%= Table.aliasName %>);
- partial void OnInserted(<%= Table.AliasName %> <%= Table.aliasName %>, int affectedRecords);
-
- /// <summary>
- /// 插入<%= Table.Text %>记录
- /// </summary>
- /// <param name="<%= Table.aliasName %>"><%= Table.Text %>对象</param>
- /// <returns></returns>
- public int Insert(<%= Table.AliasName %> <%= Table.aliasName %>)
- {
- OnInserting(<%= Table.aliasName %>);
-
- string sql = @"<%= Table.SqlBuilder.GetInsertCommandText(true) %>";
-
- DatabaseProviderFactory factory = new DatabaseProviderFactory();
- Database db = factory.CreateDefault();
- DbCommand command = db.GetSqlStringCommand(sql);
- <% foreach(ColumnSchema column in Table.Columns)
- {
- if (column.AutoIncrement == true)
- { %>
- <%= GetIdentityOutParameterString(column) %> <%
- }
- else if (column.Inserted == true) { %>
- <%= GetInParameterString(column) %> <%
- }
- } //end of foreach
- %>
-
- int affectedRecords = db.ExecuteNonQuery(command);
-
- OnInserted(<%= Table.aliasName %>, affectedRecords);
-
- if (affectedRecords < 1)
- {
- throw new ApplicationException("插入数据失败, 没有记录被插入");
- }
- <% if (Table.IdentityColumn != null)
- { %>
- return (<%= Table.IdentityColumn.CSDataType %>)db.GetParameterValue(command, "<%= Table.IdentityColumn.AliasName %>");
- <% }
- else { %>
- return affectedRecords; <% } %>
- }
-
- partial void OnUpdating(<%= Table.AliasName %> <%= Table.aliasName %>);
- partial void OnUpdated(<%= Table.AliasName %> <%= Table.aliasName %>, int affectedRecords);
-
- /// <summary>
- /// 更新<%= Table.Text %>记录
- /// </summary>
- /// <param name="<%= Table.aliasName %>"><%= Table.Text %>对象</param>
- /// <returns>受影响的记录数</returns>
- public int Update(<%= Table.AliasName %> <%= Table.aliasName %>)
- {
- OnUpdating(<%= Table.aliasName %>);
-
- string sql = @"<%= Request.Table.SqlBuilder.GetUpdateCommandText() %>";
-
- DatabaseProviderFactory factory = new DatabaseProviderFactory();
- Database db = factory.CreateDefault();
- DbCommand command = db.GetSqlStringCommand(sql);
- <% foreach(ColumnSchema column in Table.Columns)
- {
- if (column.Updated == true && column.ColumnName != "ModifiedOn" && column.ColumnName != "VersionNumber") {%>
- <%= GetInParameterString(column) %> <%
- }
- } //end of foreach
- %>
- int affectedRecords = db.ExecuteNonQuery(command);
-
- OnUpdated(<%= Table.aliasName %>, affectedRecords);
-
- return affectedRecords;
- }
-
- /// <summary>
- /// 删除<%= Table.Text %>记录
- /// </summary>
- <% foreach(Arista.Data.ColumnSchema column in Table.Keys){%>/// <param name="<%= column.aliasName %>"><%= column.Text %></param><% } %>
- /// <returns>受影响的记录数</returns>
- public int Delete(<%= KeyParamsText %>)
- {
- string sql = @"<%= Request.Table.SqlBuilder.GetDeleteCommandText() %>";
-
- DatabaseProviderFactory factory = new DatabaseProviderFactory();
- Database db = factory.CreateDefault();
- DbCommand command = db.GetSqlStringCommand(sql);
-
- <% Response.Output.Indent = 3;
- foreach(ColumnSchema column in Table.Keys)
- {
- Response.Output.WriteLine("db.AddInParameter(command, \"{0}\", {1}, {2});", column.ColumnName, column.EnterpriseLibraryDataType, column.aliasName);
- }
- Response.Output.Indent = 0;
- %>
- return db.ExecuteNonQuery(command);
- }
- }
- }
|