<表结构静态类>与<实体类>区别与应用
<表结构静态类>与<实体类>区别与应用
开发框架支持的两种ORM模型(静态类/实体类)
ORM是指对象关系映射,开发框架将ORM定义为静态类(Static Class)或实体类(Entity Class/Object Class),静态类是指只定义表结构的字段映射(公共静态常量),这种类无任何方法或属性,只有对应字段名称定义。而实体类包含字段名称定义和对应的属性,下面是两种不同的ORM类定义:
详细说明:
C# Code:
protected override IGenerateSqlCommand CreateSqlGenerator(string tableName)
{
Type ORM = null;
if (tableName == tb_Person.__TableName) ORM = typeof(tb_Person);
if (ORM == null) throw new Exception(tableName "表没有ORM模型!");
//return new GenerateSqlCmdByTableFields(ORM);
return new GenerateSqlCmdByObjectClass(ORM); //实体类
}
扫一扫加微信
开发框架支持的两种ORM模型(静态类/实体类)
ORM是指对象关系映射,开发框架将ORM定义为静态类(Static Class)或实体类(Entity Class/Object Class),静态类是指只定义表结构的字段映射(公共静态常量),这种类无任何方法或属性,只有对应字段名称定义。而实体类包含字段名称定义和对应的属性,下面是两种不同的ORM类定义:
详细说明:
http://www.csframework.com/archive/1/arc-1-20120316-1922.htm
l 生成表结构静态类:
只是一个静态类,仅生成了字段的常量名,无任何属性和方法。
此类型的ORM, 在数据层的CreateSqlGenerator方法必须创建
GenerateSqlCmdByTableFields对象。
l 生成实体类(对象)
实体类,生成了字段的常量名和所有字段属性。可实例化为具体对象。
如:User, Customer, Order等。
此类型的ORM, 在数据层的CreateSqlGenerator方法必须创建
GenerateSqlCmdByObjectClass对象。
应用
1. 在界面层操作数据,基于DataTable形式的(操作DataRow,DataTable),生成表结构静态类。
2. 在界面层操作数据,基于Object实体类形式的(操作对象实体,如Person.Name,Person.Age),生成实体类。
平台中的例子是基于DataTable形式的,只有《销售员管理》是基于实体类形式。
静态类使用GenerateSqlCmdByTableFields命令生成器生成SQL
实体类使用GenerateSqlCmdByObjectClass命令生成器生成SQL, 参考:dalPerson.cs
dalPerson.cs
C# Code:
protected override IGenerateSqlCommand CreateSqlGenerator(string tableName)
{
Type ORM = null;
if (tableName == tb_Person.__TableName) ORM = typeof(tb_Person);
if (ORM == null) throw new Exception(tableName "表没有ORM模型!");
//return new GenerateSqlCmdByTableFields(ORM);
return new GenerateSqlCmdByObjectClass(ORM); //实体类
}
扫一扫加微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc
C/S框架网