我有db的表中的字段:Id,Key,Value。我有幾個完全相同的密鑰
我想通過NHibernate 3.2.0.4獲得IQuerable集合表,通過Key來區分。
我試圖這樣做,以便:
1.var items = dr.Localization.GetQuery().Distinct(new MyComparer());
和接收:
無法解析表達式「值(NHibernate.Linq.NhQueryable`1 [AbstractDataRepository.Domain.ILocalization])個不同的(值(LEditorExtension .Presentation.Controllers.MyComparer))':目前不支持方法'System.Linq.Queryable.Distinct'的重載。
2.var items = dr.Localization.GetQuery().GroupBy(x => x.Key).Select(g => g.First());
在'項目'中收到null。
dr.Localization.GetQuery()。GroupBy(x => x.Key):表達式不能包含lambda表達式
有什麼辦法可以解決這個問題嗎?謝謝!與NHibernate獲取獨特的IQueryable
2
A
回答
1
這裏的問題是,您的查詢是針對您的自定義比較器無效的數據庫發起的,因爲它無法轉換爲有效的SQL。因此,如果您認爲可以在sql中執行distinct,那麼您可以通過指定您希望將其區分的屬性進行嘗試。
如果你還想使用自定義比較器先做一個List(),然後做一個獨特的。
dr.Localization.GetQuery().List().Distinct(new MyComparer());
+0
我需要智能定製Telerik Grid上的CustomBinding,而不是列表 –
+0
如果您必須有IQueryable,那麼您可以在Distinct調用後添加.AsQueryable()。 – jasonp
相關問題
- 1. 僅選擇Nhibernate中的特定列IQueryable
- 2. NHibernate。獨特的父母提取
- 3. 獨特加入Nhibernate
- 4. nHibernate獨特查詢
- 5. 問題與NHibernate獨特和尋呼
- 6. 用LINQ返回一個獨特的IQueryable?
- 7. 獲取獨特的領域
- 8. 獲取獨特的點對
- 9. 獲取獨特的RDD串
- 10. 獲取獨特的線條
- 11. 不能.Count()IQueryable(NHibernate)
- 12. 獲取與獨特價值的行中特定的列 - MySQL的
- 13. 負載與獲取在Nhibernate
- 14. 與NHibernate獲取分數
- 15. 獲取獨特/獨特的值PSObject的某些屬性?
- 16. 獲取獨特/獨特的成果爲SQL查詢的JOIN
- 17. 獲取NHibernate的
- 18. 更新記錄Nhibernate和Iqueryable
- 19. NHibernate的標準查詢 - 選擇獨特
- 20. 流暢的NHibernate獨特字符串表
- 21. NHibernate的獨特約束條件
- 22. 獲取獨特的和重複的值
- 23. 變換LINQ的IQueryable爲分頁IQueryable的使用LINQ to NHibernate的
- 24. 用NHibernate查詢獲取特定列
- 25. Nhibernate - 如何使用QueryOver獲得有序的獨特結果?
- 26. Python - 獲取獨特的網站更改
- 27. 從NSMutableArray獲取獨特的項目
- 28. 獲取最新的獨特記錄
- 29. 核心數據 - 獲取獨特的行
- 30. Python Pandas獲取獨特的列數
公共類MyComparer:的IEqualityComparer { 公共BOOL等於(ILocalization的x,ILocalization Y) { 回報(x.Key == y.Key); } public int GetHashCode(ILocalization obj) { return obj.Key.GetHashCode(); } } –