我是否应该担心ORM默认返回所有列?

Jer*_*ose 6 nhibernate orm entity-framework llblgenpro entity-framework-4

由于我在使用ORM(迄今为止LLBL Gen Pro和Entity Framework 4)方面的经验有限,我注意到本质上,查询返回所有列的数据.我知道NHibernate是另一个流行的ORM,我不确定这适用于它,但我认为它确实如此.

当然,我知道有解决方法:

  • 创建SQL视图并在视图上创建模型和映射
  • 使用存储过程并在返回的结果集上创建模型和映射

我知道坚持某些做法可以帮助减轻这种情况:

  • 选择数据时,确保您的行数受到合理限制
  • 确保表格不会过宽(大量列和/或大数据类型)

所以这是我的问题:

  1. 上述做法是否足够,或者我是否仍应考虑寻找限制返回列数的方法?

  2. 除了上面列出的列之外,还有其他方法来限制返回的列吗?

  3. 您通常如何在项目中处理此问题?

提前致谢.

更新:这种情况源于SELECT *被认为是一种不良做法的概念.见这个讨论.

dun*_*289 8

使用几乎任何类型的ORM的原因之一是延迟许多较低级别的关注并关注业务逻辑.只要您保持连接合理且表宽度合理,ORM就可以轻松地将数据输入和输出,并且需要整个行可用.

就个人而言,我会在遇到由于表格宽度而陷入困境的特定情况之前考虑这样的问题.