गुड मॉर्निंग!एफई अलग (IEqualityComparer) त्रुटि
को देखते हुए:
public class FooClass
{
public void FooMethod()
{
using (var myEntity = new MyEntity)
{
var result = myEntity.MyDomainEntity.Where(myDomainEntity => myDomainEntity.MySpecialID > default(int)).Distinct(new FooComparer);
}
}
}
public class FooComparer : IEqualityComparer<MyEntity.MyDomainEntity>
{
public bool Equals(MyEntity.MyDomainEntity x, MyEntity.MyDomainEntity y)
{
return x.MySpecialID == y.MySpecialID;
}
public int GetHashCode(MyEntity.MyDomainEntity obj)
{
return obj.MySpecialID.GetHashCode();
}
}
यह संकलन होगा, लेकिन क्रम पर मैं एक Linq to Entity could not translate Comparer
-Exception मिल जाएगा।
कोई सुझाव?
इस नेट परत में नहीं करने के लिए कोई मौका है? एसक्यूएल में ऐसा करने के लिए किसी भी तरह ईएफ-कॉल बताएं? –
मेरा संपादन देखें - समूह का उपयोग करें और आपको वांछित व्यवहार मिलेगा। ढांचे में "DistinctBy" होना अच्छा लगेगा (और ईएफ आदि द्वारा संभाला जाता है) लेकिन मुझे लगता है कि समूहीकृत संस्करण वही करेगा जो आप चाहते हैं। –
धन्यवाद! यह मेरे लिए बहुत व्यावहारिक लग रहा है, क्योंकि आप एक IQueryable पर समूह कर रहे हैं। मैं इसे बाद में कोशिश करूंगा! पीएस .: हां, आपको विशिष्ट-हालत सही मिल गई है :) –