Winson.Framework的实体操作解说:

本框架支持泛型+自定义实体集合进行操作,整个实体操作的思想主要是使用了微软MSDN上的一篇文章:《掌握 ASP.NET 之路:自定义实体类简介


一、本框架实体操作的特点:

1、一般的实体类操作,均要手工去为每个实体里的属性赋值,如果里面的字段少的话还好说,要是有十几二十个字段,那可要累坏人,当然也可以使用代码生成器完成,但这样生成出来的代码量会非常大。
  本框架利用为每个实体类添加索引器以解决以上问题,通过索引器,然后自动为每个字段循环赋值,关于索引器代码可使用生成器生成,但如果使用的是ACCESS数据库,代码生成的索引器就会有问题了,因为在CodeSmith里读出ACCESS的字段顺序会有所不同,我也不知道为什么会这样,郁闷

2、很多时候使用实体类操作时,如果我只需要操作(如更新)某一个字段,但都需要为其他各字段同时赋值,然后再整个实体去更新(至少我使用PetShop4框架时是这样的),这就会感觉非常不方便
  本框架已做了相关的控件,可只为需要操作的某个或多个字段进行赋值,不需考虑其他字段

3、要为每个实体类生成独立的操作类方法,非常浪费,因为每个实体都有不同的类型,所以一些增、删、改、查的方法都不能通用
  本框架使用了泛型方法将实体封装到集合里,然后再根据传入的实体对象去调用不同的方法,然后动态去生成所需要的SQL语句


二、实体类的使用

本框架基本上以三层架构方式搭建,建议新建立一个实体类的项目(Model),然后再建立一个数据操作项目(DAL)

1、首先使用CodeSmith代码生成器生成所有实体类(放到Model项目里)和相关的操作类(放到DAL项目里,即DEMO里的ModelOperate.cs文件),生成方法可 点击这里查看!

2、将DEMO里的BaseDBOp.cs和ModelCollection.cs文件COPY到你的DAL项目里(注意里面的命名空间要改成你自己项目的)

3、这时可以将项目进行一次编译,如通过编译后再进入下一步

4、在界面层开始调用实体操作方法:
1)先声明实体类和相关的操作方法,声明方法如下:(以下均以本DEMO项目里实体为例)

Winson.Framework的实体操作解说protected Employees empDS;
Winson.Framework的实体操作解说
protected WType wtypeDS;


这里需要注意的是,实体只是声明,但不要同时进行实例化,这是因为本框架使用了泛型类,过早实例化会取不到实体对象(好像是这个原因吧,呵呵),必须将实例化方法放在Page_Load或者其他函数体内,如以下是实例化的代码:

Winson.Framework的实体操作解说protected void Page_Load(object sender, EventArgs e)
    }


这里要为泛型类传递一个实体对象做为参数

2)现在可以直接使用EmpDSOper对象来操作实体类了,以下是实体操作方法说明:

1 strWhere)


具体方法实现,请看相关的页面代码吧,反正代码都在那里了,呵呵。

这里值得说明的是最后1个方法,即OperateDS,我做了一个重载,分别可对实体进行批量(即批量更新、删除等)和单一操作,使用方法在我的DEMO里也有了

基本上实体操作就这些啦,如果大家在使用中遇到什么问题,也欢迎在这里提出来:)

本框架下载地址:
http://bbs.szblogs.com/showtopic-137.html
或者
http://www.cnblogs.com/winsonet/archive/2007/07/31/838253.html

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-14
  • 2021-07-08
  • 2021-10-20
  • 2021-12-28
  • 2021-09-14
  • 2022-12-23
猜你喜欢
  • 2021-09-19
  • 2022-12-23
  • 2021-09-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案