我在我的一个问题中得到了这个解决方案......看起来很有趣......因为我正在尝试和学习理解 LINQ.. 我在实现这个时遇到了这个错误。我不知道这里出了什么问题...寻求专家建议。
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();
错误:LINQ to Entities 无法识别方法 '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])' 方法,并且此方法无法转换为商店表达
笔记:
我正在使用数据库优先方法,并ac_Categories
使用该方法创建...