关于使用EF Dapper等ORM的问题

huangbochn 2017-07-01 09:06:34
比如我有一个表 Employee,对应一个POCO Class 也是Emplyee.里面包含30个字段.在不同的View/Window/Page,我需要展示的字段不同.
有的界面我只需要显示5个字段,而有的字段我要显示20个字段……

如果每个界面直接读那个Employee Class,那不管几个字段都会全部读取到.这样显示是浪费带宽的,速度也慢.

这种情况是不是可以建立多个POCO Class呢?应对不同的界面?以期节省带宽.
...全文
230 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangbochn 2017-07-03
  • 打赏
  • 举报
回复
我现在的做法就还是让数据库去查整个表,然后只显示需要的数据. 也试过额外写一个类,只取需要的字段.不过工作量大了一些. 希望能有人指点下更合适的做法.
huangbochn 2017-07-03
  • 打赏
  • 举报
回复
引用 6 楼 hanjun0612 的回复:
我觉得,这本来就应该获取所有字段,怎么显示,显示多少是你view层的事情。 对于数据访问层来说,就是提供数据。 当然你一定要创建这种viewmodel也是可以。 但是,ef去映射的sql语句,还是获取了所有数据列。
我觉得,这本来就应该获取所有字段,怎么显示,显示多少是你view层的事情。 您这句话提醒我了,我忘记写这个Model的原意就是要分离Model和View 数据层确实应该是检索所有数据,然后让View去搞定显示的问题. 谢谢!
正怒月神 2017-07-03
  • 打赏
  • 举报
回复
我觉得,这本来就应该获取所有字段,怎么显示,显示多少是你view层的事情。 对于数据访问层来说,就是提供数据。 当然你一定要创建这种viewmodel也是可以。 但是,ef去映射的sql语句,还是获取了所有数据列。
huangbochn 2017-07-01
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
像 EF 这种,并不能处理好继承实体结构,就不行了。
现在准备用的就是EF.那如果类似这样的需求,您有没有合适的ORM推荐,比如Dapper或者PetaPOCO? 谢谢您.
  • 打赏
  • 举报
回复
像 EF 这种,并不能处理好继承实体结构,就不行了。
  • 打赏
  • 举报
回复
那要看你用的 ORM 是否支持实体继承。比如说4、5个 class 继承的,那么就可以分层次处理你的数据。
D56233577 2017-07-01
  • 打赏
  • 举报
回复
EF用不用继承应该都可以实现,建议你去实践一下。不过我仍然建议你用 Dapper。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧