public class QZ_RWL_ViewComparer : IEqualityComparer<QZ_RWL_View>
{
public bool Equals(QZ_RWL_View x, QZ_RWL_View y)
{
return (x.DJFB_DocID ==y.DJFB_DocID && x.QZDJ_DocID == y.QZDJ_DocID);
}
public int GetHashCode(QZ_RWL_View obj)
{
return obj.GetHashCode();
}
}
QzEntities qzData = new QzEntities();
var QZ_RWL_ViewItem = from p in qzData.QZ_RWL_View
where p.Site == SessionMessage.CurrentHsxm.DocID
select p;
var Waits = QZ_RWL_ViewItem.Distinct(new QZ_RWL_ViewComparer()).GroupBy(p => p.DJFB_DocID);
在用Waits 时就报LINQ to Entities 不识别方法“System.Linq.IQueryable`1[OT.Qz.Biz.QZ_RWL_View] Distinct[QZ_RWL_View](System.Linq.IQueryable`1[OT.Qz.Biz.QZ_RWL_View], System.Collections.Generic.IEqualityComparer`1[OT.Qz.Biz.QZ_RWL_View])”,因此该方法无法转换为存储表达式
望各位大虾帮着看一下是哪里出了问题
6 个解决方案
#1
这样写应该没有问题吧!var Waits = QZ_RWL_ViewItem.Distinct().GroupBy(p => p.DJFB_DocID);
#2
谢谢了上楼了 但是这样不满足我的条件了,我要的是根据两个字段来Distinct
#4
谢谢楼上的 我试试看
#5
#6
from p in orders).distinct(p=>p.customerID);
#1
这样写应该没有问题吧!var Waits = QZ_RWL_ViewItem.Distinct().GroupBy(p => p.DJFB_DocID);
#2
谢谢了上楼了 但是这样不满足我的条件了,我要的是根据两个字段来Distinct
#3
LINQ - DISTINCT 单列和多列两种情况下的实现
http://blog.csdn.net/q107770540/archive/2010/08/03/5784646.aspx
http://blog.csdn.net/q107770540/archive/2010/08/03/5784646.aspx
#4
谢谢楼上的 我试试看
#5
#6
from p in orders).distinct(p=>p.customerID);