2014-10-01 87 views

回答

0

我需要查看您的查询才能正确回答。

在几乎所有情况下,take(1)相当于firstOrDefault并且在远程和本地查询都正常工作。

var query = breeze.EntityQuery.from('Persons') 
     .where('FirstName', 'eq', 'Lizzy') 
     .take(1); // will return one or null 

如果你想找到它的密钥的实体,先在缓存中查找,然后去远程如果必要的话,那么你应该考虑的fetchEntityByKey method

Distinct只适用于投影查询,其中返回的对象(这不是实体,btw)没有身份证。在向我展示您的查询之前,无法知道这是否是您需要的。

有了应有的尊重,我觉得hunch_hunch的回答有点误导。请重新考虑检查MY ANSWER是否是最佳答案。

2

没有任何东西能够做到这一点。我遇到了同样的情况,不得不在服务器端拨打.Distinct().FirstOrDefault()。在微风论坛中有一个outstanding suggestion(目前排在第10位),以增加.Distinct()的功能。

+1

我不知道他们有一个改善微风的建议。谢谢!我希望他们能够执行它。现在我正在查看通过查找方法存储到数组中的已执行查询来执行'.FirstOrDefault()'。至于'.Distinct()',我别无选择,只能将其加载到服务器端。 – RedApple 2014-10-03 14:08:07