我收到带有消息&#34的NotImplementedException;未实现方法或操作。"使用带有MySQL的Entity Framework 6.0运行以下LINQ查询时。
entities.Member.
Where(m => m.MemberSite.Any(s => s.SiteID == siteID)).
OrderByDescending(m => m.DateCreated).Take(50).ToList();
然而,以下(减去Take(50))可以正常工作。
entities.Member.
Where(m => m.MemberSite.Any(s => s.SiteID == siteID)).
OrderByDescending(m => m.DateCreated).ToList();
还有其他人看过这个问题并找到解决办法吗?
答案 0 :(得分:0)
我从另一个角度出现了解决方案,产生了相同的结果。我之前在Entity Framework for MySQL中遇到过Any()和All()LINQ方法的问题,所以应该知道这些问题。
相反,执行以下操作会产生正确的结果。
entities.MemberSite.
Where(s => s.SiteID == siteID).Select(s => s.Member).
OrderBy(m => m.DateCreated).Take(50).ToList();
答案 1 :(得分:0)
您是否有理由不使用LINQ语法?我觉得它更容易阅读。这是您的解决方案的替代方案:
from s in entities.MemberSite
where s.SiteID == siteID
orderby s.DateCreated
select s.Member).Take(50).ToList();