我已經在我的一個問題中給出了這個解決方案......看起來很有趣..因爲我正在嘗試和學習理解LINQ ..我在執行這個時遇到了這個錯誤。我不知道這裏出了什麼問題......尋求專家意見。IEqualityComparer上的錯誤<T>
public class CategotiesEqualityComparer : IEqualityComparer<ac_Categories>
{
public bool Equals(ac_Categories x, ac_Categories y)
{
return x.ThumbnailAltText.Trim() == y.ThumbnailAltText.Trim();
}
public int GetHashCode(ac_Categories obj)
{
return obj.ThumbnailAltText.Trim().GetHashCode();
}
}
var catlist = _db.ac_Categories
.Where(c => c.VisibilityId == 0 && c.ThumbnailAltText != null
&& (!c.ThumbnailAltText.StartsWith("gifts/")
&& !c.ThumbnailAltText.StartsWith("email/")
&& !c.ThumbnailAltText.StartsWith("news/")
&& !c.ThumbnailAltText.StartsWith("promotions/")
&& !c.ThumbnailAltText.StartsWith("the-knowledge/")))
.Distinct(new CategotiesEqualityComparer()).ToList();
ERROR:LINQ to Entities does not recognize the method 'System.Linq.IQueryable
1[WebMgr.ac_Categories] Distinct[ac_Categories](System.Linq.IQueryable
1[WebMgr.ac_Categories], System.Collections.Generic.IEqualityComparer`1[WebMgr.ac_Categories])' method, and this method cannot be translated into a store expression
注:
我使用數據庫第一種方法和ac_Categories
使用創建...
您的問題已經在這裏解答:http://stackoverflow.com/a/1011014/222163 –