自写通用数据访问层组件



      很多时候我们在做数据库操作的时候,希望能够使用操作更加更视觉化,更易于理解.ORM方式为我们提供了很好的方式.
      不仅如此,该组件支持大部分的数据库(尚未测试,受本人硬件条件限制...),当使用该组件时需要在连接字符串中配置好providerName这一属性即可.
  < add  name ="testConnectionString"  connectionString ="server=.;database=db_test;uid=sa;pwd=sa"  providerName ="System.Data.SqlClient" />
      而本人的机器上的数据源是SqlExpress,所以采用的是System.Data.SqlClient.
      
      使用方法非常简单,首先根据数据库的表,编写一个对应的实体类,如:
ContractedBlock.gif ExpandedBlockStart.gif Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CoalberSoft.Data.ORM.Interface;
using CoalberSoft.Data.ORM;
using CoalberSoft.Data.ORM.DbAttribute;

namespace MappedAttributeTest
{
    [MappedTable(ConnectionStringName 
= "testConnectionString", TableName = "tb_Users")]
    
public class tb_Users : IEntity
    {
        
private Guid userID;
        [MappedColumn(IsPrimaryKey 
= true, ColumnName = "UserID")]
        
public Guid UserID
        {
            
get { return this.userID; }
            
set { this.userID = value; }
        }

        
private string userName;
        [MappedColumn(ColumnName 
= "UserName")]
        
public string UserName
        {
            
get { return this.userName; }
            
set { this.userName = value; }

        }

        
private string userPassword;
        [MappedColumn(ColumnName 
= "UserPassword")]
        
public string UserPassword
        {
            
get { return this.userPassword; }
            
set { this.userPassword = value; }
        }
    }
}
      大家注意到,这里做的无非是一些字段的配置,有一点硬性要求,就是该类必须要继承自IEntity,而实际上IEntity接口中什么都没有,因为实在是想不到里面能够写什么来约束它,先预留着吧.(很想实现强制子类的属性必须采用MappedColumn修饰).另外就是注意到主键属性的IsPrimaryKey要设置为true.
      简单的配置完毕后,使用就非常简单了.
CoalberSoft.Data.ORM.EntityManager < tb_Users >  em  =   new  CoalberSoft.Data.ORM.EntityManager < tb_Users > ();
      实例化实体管理器,然后就可以调用管理器当中的方法对数据进行各种操作,在操作中只对Insert操作进行了异步的支持,其余的方法都没有支持,在随后的版本中会进行改进. 具体如何使用在这里不在重复,使用的例子在文件中已经包含.希望大家能够多提宝贵意见,请发至 Coalber@163.com

转载于:https://www.cnblogs.com/CoalberSoft/archive/2009/09/04/1560101.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值