把Sql数据转换为业务数据的几种方法
ORM系统必须把数据库中的数据转换为业务数据,转换的方法大致有3种,本文就试图对它们做一些简单分析。
1、属性反射。就是通过反射,获取业务实体类的各个属性,然后再设置这些属性的值。这个方法最简单、最稳定、通用性最强、可维护性最强、性能最差。例如NHibernate就是用这种方法实现的,它通过IGetter和ISetter接口实现对某个业务实体类属性的读取和写入。DongLiORM的早期版本也是用的这种方法,他通过BusinessObject的属性索引器实现。其原理就是首先通过获取某个业务实体类某个属性的PropertyInfo,然后调用该PropertyInfo的GetValue或者SetValue方法。类似的代码如下:
PropertyInfo info = BusinessType.GetProperty(PropertyName);
info.SetValue(this, value, null);
比如,现在有一个业务实体类UserItem,其定义如下:
public class UserItem
{
public UserItem() { }
private string _userid;
private string _username;
private string _pwd;
private string _email;
public string UserID
{
set { _userid = value; }
get { return _userid; }
}
public string UserName
{
set { _username = value; }
get { return _username; }
}
public string Pwd
{
set { _pwd = value; }
 
相关文档:
本文以IBM的关系数据库管理系统DB2 Universal Database(通用数据库) 版本7.1为背景,与大家共同探讨编写好的SQL语句的技巧,以求DB2应用程序以求DB2应用程序获得更优的性能。
当我们设计一个新的或分析一个现存的系统时,其中所要考虑的一个重要问题就是应用程序的设计问题。即使数据库设计得很好而且还经过优化处理, ......
CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE
子句中使用 CASE。
首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下:
SELECT =
CASE
WHEN THEN
WHEN THEN
ELSE
......
我经常问的一个问题是:你是如何来扩展SQL Database的?有很多的方法可以做到,比如使用缓存,共享或者用其他的技术将压力从数据库释放,但实际上我们没有。SQL Database从根本上来说是不具有扩展性的,我们也没有魔法使它忽然具有扩展性。
什么是扩展性?
必须具有几下几点:
横向扩展:更多的server可以带来更高的性能 ......
原文出处:http://www.dingos.cn/index.php?topic=1874.0
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_conve ......
通过分析SQL语句的执行计划优化SQL(总结)
做 DBA快7年了,中间感悟很多。在DBA的日常工作中,调整个别性能较差的SQL语句时一项富有挑战性的工作。其中的关键在于如何得到SQL语句的执行计划和如何从SQL语句的执行计划中发现问题。总是想将日常经验的点点滴滴总结一下,但是直到最近才下定决心,总共花了3个周末时间,才将其 ......