我在优快云中回过贴,感觉有时还是需要整理下。
在项目中经常对数据库进行操作,很多不仅劳动重复,还增加了维护成本。
框架要求能够全部使用ORM也可以用框架中的部分功能,要能适应面向对象操作数据库也能适应性能要求高的需求。整理需要达到的效果
http:
//
community.youkuaiyun.com/Expert/TopicView3.asp?id=5349356
要从这种烦琐的工作解脱出来,自己设计关于orm的工具或者使用已经成熟的工具这样很多操作都可以自动完成,代码量大量减少。
举个例子
假设对user表操作
public class UserInfo
{
public int UserId{ get ; set ;}
public string UserName{ get ; set ;}
public string Password{ get ; set ;}
}
操作user表,对象是UserInfo实体
以下是片断
IDataBase database = new SqlDataBase( new SqlConfing(server,database,userid,password));
IDataProvider provider = database.GetDataProvider(tableName);
provider.Insert( new UserInfo( " sa " , " 123 " ));
经过以上操作这个实体就已经插入到数据库中。
如果数据库字段与实体类不同则可以加标签,如
public class UserInfo
{
[DataColumn( " User_Id " )]
public int UserId{ get ; set ;}
[DataColumn( " User_Name " )]
public string UserName{ get ; set ;}
public string Password{ get ; set ;}
}
存储过程
public class UserInfo
{
[DataColumn( " User_Id " )]
[DataParameter( " @User_Id " )]
public int UserId{ get ;
要从这种烦琐的工作解脱出来,自己设计关于orm的工具或者使用已经成熟的工具这样很多操作都可以自动完成,代码量大量减少。
举个例子
假设对user表操作
public class UserInfo
{
public int UserId{ get ; set ;}
public string UserName{ get ; set ;}
public string Password{ get ; set ;}
}
操作user表,对象是UserInfo实体
以下是片断
IDataBase database = new SqlDataBase( new SqlConfing(server,database,userid,password));
IDataProvider provider = database.GetDataProvider(tableName);
provider.Insert( new UserInfo( " sa " , " 123 " ));
经过以上操作这个实体就已经插入到数据库中。
如果数据库字段与实体类不同则可以加标签,如
public class UserInfo
{
[DataColumn( " User_Id " )]
public int UserId{ get ; set ;}
[DataColumn( " User_Name " )]
public string UserName{ get ; set ;}
public string Password{ get ; set ;}
}
存储过程
public class UserInfo
{
[DataColumn( " User_Id " )]
[DataParameter( " @User_Id " )]
public int UserId{ get ;