小记DevExpress中的数据持久层

小记DevExpress中的数据持久层

数据持久对象:

DevExpress.XPO中的数据持久对象主要是XPObjectXPBaseObject,它们的区别是XPBaseObject要自己定义一个主ID,而从XPObject继承的对象默认会在OID为主ID,如果你已经有了一个现成的数据表,而且已经有了主ID,那么应该从XPBaseObject派生你的数据持久对象。

数据访问层:

DevExpress中的数据访问层主要封装在一个Session中,默认使用DevExrepss.Xpo.Session.DefaultsSession,你可以通过设置这个默认的Session来完成数据访问层的一些基本设置,例如数据库链接字符串等。

数据操作:

数据操作内容比较多,一般在XPBaseObject上就完成了添加工作,而查询操作并不在数据持久层上,而在数据层上,也就是在DevExpress.Data中,这里有一些很细致的数据操作,可以对数据进行位操作,也可以进行一些查询分级等高级操作。这也难怪为什么它的一些高级控件,如XpivotGrid, GridControl等在数据操作上都做的非常出色了。当然,这些数据操作控件主要还是利用了一些自己定义的数据穿视图,才使得操作变得很容易。

 

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

部份参考代码:

1.数据持久类:

None.gif   public   class  T_User : XPBaseObject
ExpandedBlockStart.gifContractedBlock.gif 
dot.gif {
ContractedSubBlock.gifExpandedSubBlockStart.gif  
Fields & Properties#region Fields & Properties
InBlock.gif  
protected string _LoginName;
InBlock.gif  
protected int _UserID;
InBlock.gif
InBlock.gif  
public string LoginName
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif   
getdot.gif{return this._LoginName;}
ExpandedSubBlockStart.gifContractedSubBlock.gif   
setdot.gif{this._LoginName = value;}
ExpandedSubBlockEnd.gif  }

InBlock.gif
InBlock.gif  [Key(
true)]//用特性来映射数据
InBlock.gif
  public int UserID
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif   
getdot.gif{return this._UserID;}
ExpandedSubBlockStart.gifContractedSubBlock.gif   
setdot.gif{this._UserID = value;}
ExpandedSubBlockEnd.gif  }
   
InBlock.gif        
public T_User()
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif            
// Use this constructor when you want to create a new object.
InBlock.gif            
// Place here your initialization code.
InBlock.gif
   this._ParentID = -1;
InBlock.gif   
this._RegDate = DateTime.Now;
ExpandedSubBlockEnd.gif        }

InBlock.gif        
ExpandedSubBlockStart.gifContractedSubBlock.gif        
public T_User(Session session) : base(session) dot.gif{
InBlock.gif            
// This constructor is used when an object is loaded from a persistent storage.
InBlock.gif            
// Do not place any code here.
ExpandedSubBlockEnd.gif
        }

ExpandedBlockEnd.gif    }

None.gif


2.设置默认链接

None.gif XpoDefault.ConnectionString  =  MSSqlConnectionProvider.GetConnectionString( " Server " , " UserID " , " Pwd " , " DB " );


当然,它还有其它的链接驱动可用。

3.测试:

None.gif              try
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif {
InBlock.gif                WebAD.Controls.T_User m_user 
= new WebAD.Controls.T_User();
InBlock.gif                m_user.LoginName 
= "apple";
InBlock.gif                m_user.Password 
= "test";
InBlock.gif                m_user.Save();                
ExpandedBlockEnd.gif            }

None.gif            
catch (Exception ex)
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif {
InBlock.gif                System.Diagnostics.Debug.WriteLine(ex.Message);
ExpandedBlockEnd.gif            }


从整个结构上看,DevExpress的数据持久层做的应该还算不错的,一方面可以大量简化开发者的代码编写工作,而数据持久对象的代码又是机械化的,应该可以写工具来完成。

简单小记!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DevExpress是一家软件开发工具供应商,其产品广泛应用于Windows、Web和移动开发DevExpress为开发者提供了丰富的文文档,帮助开发者快速学习和掌握使用DevExpress开发工具的技能。 DevExpress文文档包含了详细的产品介绍、使用指南和示例代码等内容。开发者可以通过阅读这些文档,了解每个控件的功能和使用方法,学习如何在自己的项目应用这些控件。 文文档还提供了大量的示例代码,开发者可以按照这些示例来实践和理解DevExpress的功能。这些示例代码不仅展示了控件的基本使用方法,还演示了一些常见的开发场景和解决方案,帮助开发者迅速上手。 另外,DevExpress文文档还提供了详细的API参考,包含了每个控件的属性、方法和事件等具体细节。开发者可以从文档查找和了解控件的各种特性,帮助他们更好地使用和定制控件。 总之,DevExpress文文档为开发者提供了全面的参考资料,帮助开发者学习和使用DevExpress开发工具。通过阅读这些文档,开发者可以更加高效地开发出功能强大、用户友好的应用程序。 ### 回答2: DevExpress是一家著名的软件开发工具公司,其开发的组件库被广泛应用于各类软件开发项目。为了方便用户使用其产品,DevExpress提供了详细的文文档。 DevExpress文文档是一个非常重要的资源,它能够帮助开发人员更快速地了解和使用DevExpress组件库。文档的内容涵盖了DevExpress产品的各个方面,包括开发环境的配置、组件的使用方法、常见问题的解答等。 在DevExpress文文档,用户可以找到大量的示例代码和详细的说明。这些示例代码能够帮助开发人员更好地理解组件的使用方法和功能,而详细的说明则提供了更多的技术细节和注意事项,帮助开发人员避免一些常见的错误和问题。 此外,DevExpress文文档还提供了各类教程和指南,帮助开发人员学习和掌握DevExpress组件库的使用技巧。无论是初学者还是有一定经验的开发人员,都能够从文文档找到适合自己的学习资源。 总之,DevExpress文文档是一个非常有价值的资源,它为开发人员提供了全面、详细的开发指南和帮助。无论是新手还是老手,都能够从文文档获益,更好地使用DevExpress组件库开发出高质量的软件。 ### 回答3: DevExpress是一家知名的软件开发工具和组件供应商,其产品广泛应用于企业级应用程序的开发。对于非英语母语的开发者来说,使用DevEpress组件开发项目时,阅读文文档将会更加方便。 DevExpress文文档是根据其产品的特点和功能,为开发者提供的文版技术文档。这些文文档主要用于解释和演示如何使用DevExpress工具和组件来构建和定制应用程序。文文档的语言明了易懂,方便开发者理解和应用在实际项目文文档覆盖了DevExpress组件库的各个功能模块和控件,如网格控件、图表控件、报表控件等。文档提供了详细的说明、示例代码和使用技巧,帮助开发者更好地掌握和应用DevExpress的功能和特性。 使用文文档可以大大提高开发效率,能够更快地上手使用DevExpress组件进行开发。开发者可以通过文档提供的示例代码,快速了解和学习如何使用DevExpress组件进行界面定制、数据绑定、事件处理等开发任务。同时,文文档还提供了常见问题解答、技术支持等,帮助解决开发过程遇到的问题。 总的来说,DevExpress文文档为开发者提供了方便、详尽、易懂的技术文档,帮助开发者更好地运用DevExpress组件进行项目开发。通过阅读文文档,开发者可以更加高效地使用DevExpress工具和组件,提升开发效率和应用质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值