【LeanEAP.NET】精益企业应用平台实战----创建AccountGroup表和DTO
2012-05-30 23:55
423 查看
分别在MSSQL和Oracle创建不同的AccountGroup表,创建相应的影射表结构的AccountGroupTable。尽管表的字段名、数据类型不同,通过一定的规则可以得到属性名相同的AccountGroupTable,这样可以实现数据库切换而不修改逻辑代码。
在MSSQL中创建一个AccountGroup的表
View Code
在MSSQL中Id是自增长的int类型,新增后可以通过SELECT SCOPE_IDENTITY()得到Id的值。在Oracle中没有自增长类型,需要创建一个Sequence,然后通过触发器把Sequence的nextval插入到ID列,然后程序中可以读取Sequence的currval得到ID。
AccountGroupModel中Visible属性是bool类型,保存到MSSQL中是bit类型的值,而Oracle没有bit,可以使用Number(1):
MSSQL的AccountGroupTable中 _Visible = new EAP.Data.DbColumn((alias + ".Visible"), System.Data.DbType.Boolean);
Oracle的AccountGroupTable中 _Visible = new EAP.Data.DbColumn((alias + ".VISIBLE"), System.Data.DbType.Int16);
【LeanEAP.NET】精益企业应用平台----系列目录
在MSSQL中创建一个AccountGroup的表
View Code
[System.Serializable()] public class AccountGroupModels : System.Collections.Generic.List<AccountGroupModel> { public AccountGroupModels() { } public AccountGroupModels(System.Collections.Generic.IEnumerable<AccountGroupModel> collection) : base(collection) { } } /// <summary> /// <para></para> /// </summary> [System.Serializable()] public partial class AccountGroupModel { #region Member Field Region private int _Id; private string _Name; private int _Parent; private bool _Visible; private string _UpdateUser; private System.DateTime _UpdateDate; #endregion #region Member Property Region /// <summary> /// <para>主键</para> /// </summary> [EAP.Data.ColumnInfoAttribute(Visible = false, Queryable = true, DbColumn = "Id")] public int Id { get { return _Id; } set { _Id = value; } } /// <summary> /// <para>名称</para> /// </summary> [EAP.Data.ColumnInfoAttribute(DbColumn = "Name")] public string Name { get { return _Name; } set { _Name = value; } } /// <summary> /// <para>上级组别</para> /// </summary> [EAP.Data.ColumnInfoAttribute(DbColumn = "Parent")] public int Parent { get { return _Parent; } set { _Parent = value; } } /// <summary> /// <para>可见性</para> /// </summary> [EAP.Data.ColumnInfoAttribute(DbColumn = "Visible")] public bool Visible { get { return _Visible; } set { _Visible = value; } } /// <summary> /// <para>修改者</para> /// </summary> [EAP.Data.ColumnInfoAttribute(DbColumn = "UpdateUser")] public string UpdateUser { get { return _UpdateUser; } set { _UpdateUser = value; } } /// <summary> /// <para>修改时间</para> /// </summary> [EAP.Data.ColumnInfoAttribute(DbColumn = "UpdateDate")] public System.DateTime UpdateDate { get { return _UpdateDate; } set { _UpdateDate = value; } } #endregion }
在MSSQL中Id是自增长的int类型,新增后可以通过SELECT SCOPE_IDENTITY()得到Id的值。在Oracle中没有自增长类型,需要创建一个Sequence,然后通过触发器把Sequence的nextval插入到ID列,然后程序中可以读取Sequence的currval得到ID。
AccountGroupModel中Visible属性是bool类型,保存到MSSQL中是bit类型的值,而Oracle没有bit,可以使用Number(1):
MSSQL的AccountGroupTable中 _Visible = new EAP.Data.DbColumn((alias + ".Visible"), System.Data.DbType.Boolean);
Oracle的AccountGroupTable中 _Visible = new EAP.Data.DbColumn((alias + ".VISIBLE"), System.Data.DbType.Int16);
【LeanEAP.NET】精益企业应用平台----系列目录
相关文章推荐
- 【LeanEAP.NET】精益企业应用平台实战----构造DataAccessor与增删改查
- 【LeanEAP.NET】精益企业应用平台实战----表格批量编辑与Undo/Redo功能实现
- 【LeanEAP.NET】精益企业应用平台---源码&Demo下载
- 【LeanEAP.NET】精益企业应用平台设计----WebForm的UI布局
- 【LeanEAP.NET】精益企业应用平台设计----功能设计
- 【LeanEAP.NET】精益企业应用平台设计----WebForm的UI布局
- 【LeanEAP.NET】精益企业应用平台设计----数据访问类库EAP.Data
- 【LeanEAP.NET】精益企业应用平台
- 基于AgileEAS.NET企业应用开发平台的分布式解决方案
- Silverlight企业应用开发实践-AgileEAS.NET平台5.0 Silverlight支撑预览 推荐
- 企业集群平台架构实现与应用实战(HAproxy+keepalived篇) 推荐
- 《精通Spring4.X企业应用开发实战》读后感第七章(创建增强类)
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 适合大型企业信息化应用使用的角色权限管理体系
- Silverlight企业应用开发实践-AgileEAS.NET平台5.0 Silverlight支撑预览
- 企业集群平台架构实现与应用实战
- 精益企业应用平台
- Silverlight企业应用开发实践-AgileEAS.NET平台5.0 Silverlight支撑预览
- 基于AgileEAS.NET企业应用开发平台的分布式解决方案
- 精益企业应用平台demo
- 方正平台:如何让SOA在企业应用中发挥商业价值?