EF.使用反射解决实体类型转换问题
来源:互联网 发布:超星阅读器windows版 编辑:程序博客网 时间:2024/06/06 00:21
原文地址:http://www.cnblogs.com/Ewait/archive/2009/04/03/1428748.html
我在做一个以Northwind为数据库,使用EDM、ASP.NET MVC1.0框架的示例项目。项目刚刚开始,目前在做一些技术测试。当对实体层进行操作时,问题来了。
问题:对对象集进行查询的时候,我们往往不需要查询所有的字段,但返回的时候却要返回这个对象或对象结合。这是我们该如何做?
例如:Categories这个表(在EDM中为Category类)中包含了Picture这个字段,Picture是存放图片的,数据相对比较大,那我们在读取这个表的时候每次都全部取出数据势必不是一个高效的做法。
解决过程:
首先,我们在需要查询特定字段的时候使用 Entity SQL来进行操作。
例如我们只要查询Category的CategoryID,CategoryName字段
那么我们可以这样做:
第一次想到的方法是
class MyCategory:Category{}//MyCategory类继承Category类也就继承了它的属性,这样我就可以使结果返回MyCategory
OK,但是以后每个类你都要增加各MyClass,而且这个类也使实体层显得不"干净"。这时候想到了使用反射来对把结果转换成我们要的实体,上网看了dudu的CN.Text开发笔记-利用反射将数据读入实体类。以下是在dudu基础上写的方法。
现在我们在操作时就简单多了
总结:问题的解决方法使用了反射机制,而反射对效率还是有一定影响的,所以尽量在读取数据时减少读取的数量。比如页面呈现多少条数据你就查询多少条,不要一下全部读出来再进行分页。
如果你要查询表中所有字段的话,你就不必使用该方法了,直接用常规方法吧。
- EF.使用反射解决实体类型转换问题
- EF实体类型 添加AddObject
- EF中反射不确定类型。
- flex+EF(Asp.Net Entity Framework)+FluorineFx 组合的自定义实体类型转换(原创)
- 2步解决EF生成实体类无注释问题的快捷方法,亲测成功
- Java反射使用实例(http实体类转换)
- 转换实体类型
- 反射 EF SqlQuery 返回匿名类型
- 实体数据模型 EF的简单使用
- 使用ObjectMapper把json转换为实体-时间转换问题
- springmvc实体类类型转换
- 解决 C++ Bulider 变量类型转换问题
- 解决struts 注入 Date类型转换问题
- SpringMVC注解@initbinder解决类型转换问题
- SpringMVC注解@initbinder解决类型转换问题
- SpringMVC注解@initbinder解决类型转换问题
- SpringMVC注解@initbinder解决类型转换问题
- SpringMVC注解@initbinder解决类型转换问题
- JAVA高级视频_IO输入与输出_收获二
- .net 信息管理系统 快速开发架构
- timeSetEvent()
- 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务
- Android的下拉菜单--Spanner的使用
- EF.使用反射解决实体类型转换问题
- TNS:监听程序无法启动专用服务器进程,
- 自己封装实现的仿GridView的列表控件
- spring.net与MyBatis.NET的整合
- [sql server] 问题总结12---合并列值
- web.xml解读
- Implementing the ITCL (or IBM) Framework using Rational Functional Tester
- linux shell脚本_文件的批量删除_2.0
- 列出比较容易忘记的 C++(C)语言语法及标准库