SQL命令生成器:GenerateSqlCmdByTableFields,GenerateSqlCmdByObjectClass


开发框架支持2种表结构模型:
1. 静态类 (Static Class Model)
2. 实体类 (Entity Object Model)
可以使用代码生成器生成C#源码:

在DAL层的CreateSqlGenerator方法,要根据当前模型创建对应的SQL命令生成器。
如《单号规则》定义的sys_DocNoRole表,对应的DAL层的CreateSqlGenerator方法代码如下:
C# Code:
/// <summary>
/// 根据表名获取该表对应的SQL命令生成器
/// </summary>
/// <param name="tableName">表名</param>
/// <returns></returns>
protected override IGenerateSqlCommand CreateSqlGenerator(DataTable table)
{
Type ORM = null;
if (table.TableName == sys_DocNoRule.__TableName) ORM = typeof(sys_DocNoRule);
if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型!");
//静态类模型SQL命令生成器
return new GenerateSqlCmdByTableFields(ORM, table, this.GeneratorFactory);
//对象实体类模型SQL命令生成器
//return new GenerateSqlCmdByObjectClass(ORM, table, this.GeneratorFactory);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 根据表名获取该表对应的SQL命令生成器
/// </summary>
/// <param name="tableName">表名</param>
/// <returns></returns>
protected override IGenerateSqlCommand CreateSqlGenerator(DataTable table)
{
Type ORM = null;
if (table.TableName == sys_DocNoRule.__TableName) ORM = typeof(sys_DocNoRule);
if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型!");
//静态类模型SQL命令生成器
return new GenerateSqlCmdByTableFields(ORM, table, this.GeneratorFactory);
//对象实体类模型SQL命令生成器
//return new GenerateSqlCmdByObjectClass(ORM, table, this.GeneratorFactory);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
sys_DocNoRole表是生成的静态类,必须使用GenerateSqlCmdByTableFields实例化。
若是实体类,必须使用GenerateSqlCmdByObjectClass实例化。

扫一扫加微信


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网