使用LINQ查询和groupBy时出现NotSupportedException异常

5
当运行这个Linq查询时,我收到一个“NotSupportedException”错误。 “指定的方法不受支持。”是什么方法?即使将“Count()”注释掉,错误也是相同的。有Null内部异常。
堆栈跟踪:
在Hydra.WPF.ViewModels.AddressListViewModel._primaryMemberListWorker_DoWork(对象 发件人,DoWorkEventArgs e)中,在M:\ Projects \ Hydra \ WPF \ ViewModels \ AddressList \ AddressListViewModel.cs中:第1377行at System.ComponentModel.BackgroundWorker.WorkerThreadStart(对象 argument)
SQL查询:
Select * From _Members
Inner Join AddressDetailsCCN a on a.MemberId=_Members.MemberID
Inner Join 
  (
  Select Address+Address2 as CombinedAddress 
  From AddressDetailsCCN Where ListId=84 
  group by Address+Address2
  Having COUNT(*)>1
  ) B on B.CombinedAddress=A.Address+A.Address2
Where CombinedAddress is not null AND CombinedAddress!='' AND a.ListId=84
Order by ClientID, CombinedAddress

Linq:

var grouped = 
   (from mem in session.Query<Member>()
    join detail in session.Query<Detail>() on mem.Id equals detail.Member.Id
    join d2 in (from d3 in session.Query<Detail>()
                where d3.AddressList.Id == criteria.AddressList.Id
                group d3 by d3.Address + d3.Address2 into x
                where x.Count() > 1
                select x) on detail.Address+detail.Address2 equals d2.Key
    where detail.AddressList.Id==criteria.AddressList.Id
    select mem);

7
Hibernate的linq实现在基本操作上存在问题。我想知道我们什么时候才能得到一个像样的实现... - Wiktor Zychla
1377只是调用包含此方法的存储库方法。 - Seraph812
你可以按照以下方式写代码:https://dev59.com/eWox5IYBdhLWcg3wqmBt - GSerjo
1
你最终得到解决方案了吗? - Kiquenet
1个回答

0
你是如何生成你的条件变量的?如果它本身是一个延迟查询或其他什么东西,那么它听起来很可能是罪魁祸首。在你的查询之前执行 var criteriaId = criteria.AddressList.Id;,并将 criteriaId 提供给你的查询,而不是你的 criteria.AddressList.Id,会发生什么?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接