每个程序员都有自己的编码习惯,但是为了更好的使用XCodeFactory生成的代码,有些风格/习惯最好遵循XCF约定。接受限制极少的XCF约定,你将从XCodeFactory获得极大的回报!
XCF约定如下:
(1)请确保所有的数据库表的第一个字段为主键,并且主键名为“ID” 。
如果你不同意每个表都有一个ID主键,可以留言和我讨论。如果你同意,那么请严格用“ID”命名,而不要用类似“StudentID”。
(2)如果有与“ID”对应的“名称”、“名字”字段,请使用“Name”命名。
自动生成的每个数据对象类(与一个数据库表对应),都重载了ToString方法,如果有Name字段,则返回“ID Name”格式的字符串,否则返回ID的值。这样做的好处在后续的介绍中会提到。
(3)数据库的名字、数据库表的名字及其字段的名字请遵守骆驼命名法。
如DataServer数据库中的Student表中的BirthDate字段
(4)没有了,等有了再补充:)
而XCodeFactory生成的代码也遵从如下约定:
(1)数据对象类的名字与数据库表的名字完全一致,如Student表对应的数据对象类名也是Student。
(2)数据访问类的名字的格式是: 数据库表名 + 数据库类型 + Dealer
如StudentSqlDealer、StudentOracleDealer、StudentOleDealer
(3)数据对象类的属性与数据库表的字段完全一致。
如Student数据库表有一个BirthDate字段,则对应的Student类就有一个BirthDate属性和一个birthDate私有变量、以及一个名为_BirthDate的const string变量,_BirthDate存在的目的会在后文中解释。
(4)对应每一个数据库表都有一个同名的文件夹与之对应,并且其中包含两个文件--数据对象类cs文件和数据访问类cs文件。
如Student文件夹下就有Student.cs和StudentDealer.cs两个文件。如果选择了生成UI界面的话,则还会有另外的两个UI类文件StudentForm.cs和StudentManageForm.cs。
下面就通过一个简单的Student例子来看看生成的数据对象类,Student表描述如下:
字段名 类型 长度 是否主键 注释(中文名)
ID int 4 True 自动编号
Name nvarchar 20 False 姓名
Age int 4 False 年龄
Description nvarchar 50 False 描述
生成的数据对象类的代码如下:
//XCodeFactory 代码自动生成器 V3.0 Beta1 作者:zhuweisky
using System;
namespace XcfExample.SkyExample
{
public class Student
{
public Student()
{
}
#region FieldName ,用于强化静态检查
public const string _ID = "ID" ;
public const string _Name = "Name" ;
public const string _Age = "Age" ;
public const string _Description = "Description" ;
#endregion
#region ID
private int iD = 0 ;
/// <summary>
/// 自动编号
/// </summary>
public int ID
{
get
{
return this.iD ;
}
set
{
this.iD = value ;
}
}
#endregion
#region Name
private string name = "" ;
/// <summary>
/// 姓名
/// </summary>
public string Name
{
get
{
return this.name ;
}
set
{
this.name = value ;
}
}
#endregion
#region Age
private int age = 0 ;
/// <summary>
/// 年龄
/// </summary>
public int Age
{
get
{
return this.age ;
}
set
{
this.age = value ;
}
}
#endregion
#region Description
private string description = "" ;
/// <summary>
/// 描述
/// </summary>
public string Description
{
get
{
return this.description ;
}
set
{
this.description = value ;
}
}
#endregion
#region ToString
public override string ToString()
{
return this.ID.ToString() + " " + this.Name.ToString() ;
}
#endregion
}
}
关于XCF约定就这么多,在XCF约定的基础上,XCodeFactory才能高效地进行工作!XCodeFactory3.0完全攻略 目录