|
先看看实体类定义:
之后,便可以这样使用实体类: 1,查询:
运行程序将输出: SQL=SELECT Top 3 ApplyTime,BankCode,FileName,FundAccount FROM PFT_Report Where FundAccount=@FundAccount Order by FundAccount desc ------------ 使用该方式,可以选取实体类指定的字段,而不是一次选取全部字段。这对于一个拥有大字段的表来说很有用。字段的选取都是通过实体类对象.属性 的方式,完全面向对象,用起来有点像LINQ,呵呵。 保存数据也很简单,为指定的属性设置新值即可:
你本次更新了多少个字段,框架只会生成要更新的字段的SQL语句,保证了数据更新的效率。 框架的详细内容请看:http://blog.csdn.net/bluedoctor/archive/2010/01/24/5251913.aspx 整个框架可以完全不使用反射来处理数据,大家评一下这样的方案好不好呢? |
|
|
是你自己原创吗?
|
|
|
|
不错,支持原创
|
|
|
JF
|
|
|
这个和LINQ TO SQL感觉上是一样的,不过不使用DataTable的话,有两个问题不知道你解决了没有:
第一个是动态产生实体类的问题,DataTable可以根据查询语句动态产生列,更新语句也可以自定义,但是LINQ TO SQL显然不行,你这个可以做到吗? 第二个是序列化问题,DataTable可以直接在WCF中传输,你这个实体类可以直接在WCF中传输吗? 如果上述两个问题不能解决,我还是倾向于使用DataTable,那点性能上的损失感觉不到什么的,关键还是要功能强大才行。 |
|
|
不错 学习了
|
|
|
|
|
|
OQL是有一套完整的标准,楼主可以参考一下。
支持一下。 |
|
|
呵呵,我只是借用一下这个词,没有想到居然还真有个标准,算是误打误撞。谢谢楼上。
|
|
|
DataTable虽然可以动态产生列,但是它不是强类型,实际上新构造一个DataTable需要额外的查询从数据库获取表架构,这也是DataTable没有DataReader速度快的原因,所以后来微软推出了强类型的DataSet,但很多人宁愿用弱类型的DataSet也不用它。LINQ TO SQL虽然不能动态产生列,但它是强类型的,在开发时候面向对象支持和运行时候不再需要获取表架构从而提高数据操作的效率。 OQL的确很类似LINQ,但它没有LINQ那么复杂,它把很复杂的多表操作等丢给了SQL-MAP,所以OQL相当轻便。OQL使用的实体类其实内部也包含了表的基本架构信息了,比如表名称,字段名称,主键等,所以它运行时不需要反射属性或者特性,生成的SQL语句相当高效,而且也支持延迟加载,在你需要最终操作数据库的时候才去计算整个OQL表达式,得到SQL语句。 |
|
|
用牛顿的话说,是站在巨人的肩膀上! 我的框架大部分思想都是跟流行的大框架类似的,但不是抄袭,而是借鉴其思想。说实话,到现在我都没有实际使用过Hibernate,而iBaties也是做了半个月都放弃了,感觉太复杂,至于LINQ,都后来才发现有这么一个东西,但人家是MS的,在编译器里面都集成了,所以看到LINQ出来以后,我曾一度准备放弃我的这套框架。但是去年,我们公司的一个产品采用Entity Framework的失败,才使我认识到,先进的不一定是合时的,于是在去年底,我把我的这套框架成功推行到公司的一个新项目中,目前进展非常顺利! |
|
|
看看
|
|
|
很不错的思想,学习了。
|
|
|
学习了
|
|
|
up
|
|
|
upup
|
|
|
不错学习.
|
|
|
思想挺不错的。。回帖在仔细看。
|
|
|
学习学习~
|
|
|
构造sql语句的确没问题,可是获得数据之后呢?还不是要用反射!
生成sql语句不会占太多时间 |
|
|
mark
|
|
|
顶一个lz
|
|
good,帮你推荐一下 |
|
|
当你把一切都离散化之后,那么跟反射的编程机制其实也是一样的。
|
|
wa !不错不错诶!
|
|
有实力 羡慕啊
|
|
不错 学习了
|
|
up
|
|
学习中
|
|
mark
|
|
jf
|
|
jf
|
|
接分
|
|
很想请教一下你在使用Entity Framework中为什么会导致项目失败? |
|
up
|
|
jiefen
|
|
mark
|
|
赞 |
|
返射经典,不用返射太麻烦
|
|
mark
|
|
实体类内部已经有属性名称列表了,所以获取数据不需要反射,例如获取数据的代码:
直接调用实体类的setProperty 方法即可。 |
|
仔细学习研究下
|
|
牛人 支持你
|
|
采用我上面的方式,不用反射一样非常容易阿! |
|
ding
|
|
采用EF必须安装.NET 3.5,有些客户的机器实在是太破旧,所以销售和产品部门老是拿这个数落我们,自然领导也认为我们这个技术方案是失败的。 |
|
.
|
|
还没学过啊
|
|
好贴Mark
|
|
1、楼主的方法跟用反射没什么区别;
2、如果不能把字段再次抽象出采用数据无关的方案,到目前为止,数据集还是最好的方法,数据本来就是弱类型的,微软已经给出近乎最好的解决方案了; 3、数据是项目中最不稳定的因素,大多数项目修改是由于数据结构的修改导致的,一种方法是采用去类型化的方法“抵抗变化”;另一种方法对数据结构进行抽象,类似表设计器的样子,你可以用一个表设计器设计出千变万化的数据结构, |
|
不错,受益了,辛苦了咯。
|