HQL与Linq对象

kai*_*lya 1 c# linq asp.net nhibernate

我需要在系统中获得符合特定条件的产品.

我应该如何决定是否应该编写HQL并获取所有符合DB标准的产品,或者将Linq查询直接写入包含系统中所有产品的主List.

哪个应该是更好的性能老虎钳

And*_*are 7

NHibernate查询会更好,因为对象的过滤会在数据库中发生.使用LINQ to Objects,您很可能会从数据库中返回您不想要的对象.

如果可以的话,总是在数据库中过滤结果集 - 这将为您提供尽可能最佳的性能(所有其他条件相同).

  • @Pavel - 你有任何证据支持你的陈述吗?我有兴趣看到一个完整的例子,它可以更快地从关系数据库中检索所有对象并在内存中过滤这些对象,而不是在正确索引的数据库上使用编写良好的查询. (3认同)