IQueryable和ISession

时间:2019-03-18 13:19:00

标签: linq iqueryable isession

哪种方法更好?

ISession session = SessionController.Factory.OpenSession();
IQueryable<myObject> myObjectdquery;

1。

myObjectquery = session.Query<myObject>();  
myObjectquery = myObjectquery.Where(x=>x....)

2。

myObjectquery = session.Query<myObject>().Where(x=>x...);

我不确定我的逻辑是否正确,但是在第一种方法中,首先用数据“填充” myObjectquery,然后对其进行查询,在第二种方法中,跳过一个步骤,并且仅用必要的数据填充myObjectquery。关键是什么更快?

1 个答案:

答案 0 :(得分:1)

  

1。

     

myObjectquery = session.Query();
  myObjectquery =   myObjectquery.Where(x => x ....)或

     

2。

     

myObjectquery = session.Query()。其中​​(x => x ...);

它们是完全一样的东西,只是看一下就可以了。如果您已经知道这一点,并且想要选择要使用的那一个,请选择数字2,这样更容易准备,并且您的代码行也更少。

P.S:在第一个示例中,您的查询已“填充”了数据,但没有存储在内存中,因此这无关紧要。是的,是同一回事。