VB/C#.Net代码生成工具在用于实际开发.Net数据库时,可以用来生成VB/C#实体代码,支持12中常见的数据库类型,用户也可以自行定义数据库,支持多种代码文件编码格式,采用插值法与最小二乘法曲线拟合,矩阵特征值及特征向量的计算,适用于软件开发及相关人员使用。
1、自定义程序集信息。
2、数据库类型。
3、数据类型映射文件。
4、数据类型初始值文件。
5、代码文件输出目录。
6、代码命名空间。
7、生成实体选项。
8、生成的代码语言类型。
9、代码文件编码格式。
10、作者。
11、自定义代码头注释。
导入的实体特性/自定义实体方法/自定义实体集方法/导入实体集特性
占位符:<%TableName%><%EntityName%>
导入的属性特性
占位符:<%TableColumnName%><%EntityAttributeName%>
1、建立实体层,并将生成的实体代码和生成的实体基类BaseEntity.cs拷贝到该实体层目录下,
将配置目录下 System.Database.Provider.dll、System.Database.dll、System.Database.ORMap.dll 引用到实体层;
工具自动提取数据库中表及字段对应的注释,实体类型的映射以“数据类型映射文件”为准
说明:数据库连接类型为BaseEntity.cs文件的GetDatabaseType返回类型值;
数据连接字符串默认是BaseEntity.cs文件的GetConnectionString()返回值。
可在BaseEntity.cs中更改数据库的连接类型和数据库连接字符串设置
注:一个项目可以有多个实体层,每个实体可单独设置自己的数据库连接;每个实体层以命名空间做划分。
若只生成实体,只需将实体文件拷贝到对应目录下即可。
2、示例代码如:
byte[] bye = new byte[]{1,2,3,4,5};
TEST entity = new TEST();
entity.A = 2;
entity.C = "测试";
entity.D = bye;
entity.Save();//保存与主键A = 2 的记录,有就更新,没有就插入,且不保存与实体初始值相同的字段值
entity.A = 1;
entity = entity.GetEntity();//获取主键A=1的信息并以实体的形式返回
TEST entity1 = new TEST();
entity1.A = 2;
entity1 = entity1.GetEntity();//获取主键A=2的信息并以实体的形式返回
//若存在A=2的记录等价于
//不同点在于当A=2的记录不存在时GetEntity()返回null,构造函数[new TEST(...)]返回默认实体信息
entity1 = new TEST(2); //A是主键
entity1 = new TEST("A",2); //指定字段
3、也可参见 EntitysCodeGenerateDemoTest.该示例是以Oracle里的系统数据库scott/tiger@Oracle服务名,为例介绍的。
(注:scott/tiger表字段没有注释)
示例代码主要以表DEPT说明,SqlServer下没有该表可用如下语句建立
{CREATE TABLE DEPT(DEPTNO int not null,DNAME VARCHAR(14),LOC VARCHAR(13))
ALTER TABLE DEPT add constraint PK_DEPT primary key (DEPTNO)}
可通过BaseEntity更改GetDatabaseType()、GetConnectionString()设置为SqlServer数据库。
4、实际使用时一定要保证BaseEntity.cs的GetConnectionString()的数据库连接字符串和相应的GetDatabaseType()数据库连接类型的正确噢!
修改后记得重新生成项目!类型映射方法若无特殊类型建议不要修改,对特殊类型可在下面添加指定的说明。