📄 builderdal.cs
字号:
using System;
using System.Text;
using System.IO;
using System.Collections.Generic;
using System.Collections;
using System.Data.SqlClient;
using LTP.Utility;
using LTP.IDBO;
using LTP.CodeHelper;
namespace LTP.BuilderDALSQL
{
/// <summary>
/// 数据访问层代码构造器(SQL方式)
/// </summary>
public class BuilderDAL:LTP.IBuilder.IBuilderDAL
{
#region 公有属性
IDbObject dbobj;
private string _dbname;
private string _tablename;
private string _modelname; //model类名
private string _dalname;//dal类名
private List<ColumnInfo> _fieldlist;
private List<ColumnInfo> _keys; //主键或条件字段列表
private string _namespace; //顶级命名空间名
private string _folder; //所在文件夹
private string _dbhelperName;//数据库访问类名
private string _modelpath;
private string _dalpath;
private string _idalpath;
private string _iclass;
private string _procprefix;
public IDbObject DbObject
{
set { dbobj = value; }
get { return dbobj; }
}
public string DbName
{
set { _dbname = value; }
get { return _dbname; }
}
public string TableName
{
set { _tablename = value; }
get { return _tablename; }
}
/// <summary>
/// 选择的字段集合
/// </summary>
public List<ColumnInfo> Fieldlist
{
set { _fieldlist = value; }
get { return _fieldlist; }
}
public List<ColumnInfo> Keys
{
set { _keys = value; }
get { return _keys; }
}
public string NameSpace
{
set { _namespace = value; }
get { return _namespace; }
}
public string Folder
{
set { _folder = value; }
get { return _folder; }
}
/*============================*/
public string ModelName
{
set { _modelname = value; }
get { return _modelname; }
}
/// <summary>
/// 实体类的命名空间
/// </summary>
public string Modelpath
{
set { _modelpath = value; }
get { return _modelpath; }
}
/// <summary>
/// 实体类的整个命名空间 + 类名
/// </summary>
/// <summary>
/// 实体类的整个命名空间 + 类名,即等于 Modelpath+ModelName
/// </summary>
public string ModelSpace
{
get { return Modelpath + "." + ModelName; }
}
/*============================*/
/// <summary>
/// 数据层的命名空间
/// </summary>
public string DALpath
{
set { _dalpath = value; }
get
{
return _dalpath;
}
}
public string DALName
{
set { _dalname = value; }
get { return _dalname; }
}
/*============================*/
/// <summary>
/// 接口的命名空间
/// </summary>
public string IDALpath
{
set { _idalpath = value; }
get
{
return _idalpath;
}
}
/// <summary>
/// 接口类名
/// </summary>
public string IClass
{
set { _iclass = value; }
get
{
return _iclass;
}
}
public string DbHelperName
{
set { _dbhelperName = value; }
get { return _dbhelperName; }
}
/// <summary>
/// 存储过程前缀
/// </summary>
public string ProcPrefix
{
set { _procprefix = value; }
get { return _procprefix; }
}
#endregion
#region 构造属性
/// <summary>
/// 字段的 select * 列表
/// </summary>
public string Fieldstrlist
{
get
{
StringPlus _fields = new StringPlus();
foreach (ColumnInfo obj in Fieldlist)
{
_fields.Append(obj.ColumnName + ",");
}
_fields.DelLastComma();
return _fields.Value;
}
}
/// <summary>
/// 不同数据库类的前缀
/// </summary>
public string DbParaHead
{
get
{
switch (dbobj.DbType)
{
case "SQL2000":
case "SQL2005":
return "Sql";
case "Oracle":
return "Oracle";
case "MySQL":
return "MySql";
case "OleDb":
return "OleDb";
default:
return "Sql";
}
}
}
/// <summary>
/// 不同数据库字段类型
/// </summary>
public string DbParaDbType
{
get
{
switch (dbobj.DbType)
{
case "SQL2000":
case "SQL2005":
return "SqlDbType";
case "Oracle":
return "OracleType";
case "MySQL":
return "MySqlDbType";
case "OleDb":
return "OleDbType";
default:
return "SqlDbType";
}
}
}
/// <summary>
/// 存储过程参数 调用符号@
/// </summary>
public string preParameter
{
get
{
switch (dbobj.DbType)
{
case "SQL2000":
case "SQL2005":
return "@";
case "Oracle":
return ":";
//case "OleDb":
// break;
default:
return "@";
}
}
}
/// <summary>
/// 列中是否有标识列
/// </summary>
public bool IsHasIdentity
{
get
{
bool isid = false;
if (_keys.Count > 0)
{
foreach (ColumnInfo key in _keys)
{
if (key.IsIdentity)
{
isid = true;
}
}
}
return isid;
}
}
#endregion
#region 构造函数
public BuilderDAL()
{
}
public BuilderDAL(IDbObject idbobj)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -