1. ORM及代码生成器和插件C#源码(DBFrameworkV4.5.3)
一、使用对象关系映射组件Kenly.DBFramework.dll不用编写任何SQL或者存储过程即可实现下列功能:
1、数据表、视图和存储过程与对象之间的转换。
2、数据表、视图的自定义条件查询。
3、数据表、视图的分页查询。
4、根据ID、主键或自定义条件对数据表进行增、删、改操作。
5、实现一对一、一对多、多对一和多对多的关系映射。
6、支持单个对象和多个对象之间的事务控制。
7、支持查询结果排序。
8、支持查询表达式生成。
9、支持延迟加载。
二、代码生成器
1、根据指定的数据库连接,自动生成数据表、视图和存储过程对应的对象代码(C#代码)。
2、自动生成相关的工程文件,生成完整的业务层项目文件。
3、可以帮助生成自定义查询方法。
4、支持SQLServer2000、SQLServer2005和Oracle代码生成插件,支持插件扩展。
提供
1、对象关系映射组件: Kenly.DBFramework.dll
2、代码生成器源码:Xsd2CS。
3、代码生成器插件源码(支持SQLServer2000、SQLServer2005和Oracle):Plugin。
4、使用手册:DBFramework.Manual V4.5.3.pdf。
下载地址:http://download.csdn.net/source/720607
[Serializable()]
[Table(TableName = "usyUser")]
public class BusinessUser : SqlTableGateway<BusinessUser>, ICloneable
{
public BusinessUser()
{
string connectionString = SystemConfig.ConnectionString;
base.InitializeGateway(connectionString, this);
}
略.............
#region Properties
[Column(ColumnName = "UserId", IsIdentity = true, IsPrimaryKey = true)]
public int UserId
{
get { return _userId; }
set { _userId = value; }
}
[Column(ColumnName = "EmployeeNumber")]
public string EmployeeNumber
{
get { return _employeeNumber; }
set { _employeeNumber = value; }
}
[Column(ColumnName = "UserName")]
public string UserName
{
get { return _userName; }
set { _userName = value; }
}
Role[] _roles = new Role[0];
[Relation(RelationType = RelationType.ManyToMany, InterrelationType = typeof(UserRole), ResultOrder = "RoleName ASC")]
public Role[] Roles
{
get { return _roles; }
set { _roles = value; }
}
public DataTable RoleTable
{
get
{
Role role = new Role();
return role.ToTable(_roles, false);
}
}
#endregion //Properties
}
Role role = new Role();
gvRole.DataSource = role.QueryAll();
gvRole.DataBind();
Role role = new Role();
int roleId=1;
role.RoleId = roleId;
role.IsActive = false;
role.PartialUpdateById("IsActive") ;
Role role = new Role();
int roleId=1;
role.RoleId = roleId;
role.RetrieveById();
role.IsActive = false;
role.UpdateById() ;
BusinessUser user = new BusinessUser();
user.UserId = 2;
user.RetrieveRelationObject(typeof(Role));