[英]Take() Throws Not Implemented Exception Entity Framework 6 with MySQL
我收到一條NotImplementedException消息,提示“未實現該方法或操作”。 使用Entity Framework 6.0和MySQL運行以下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();
其他人看到此問題並找到解決方法嗎?
我從另一個角度獲得解決方案,它產生了相同的結果。 我之前在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();
有沒有理由不使用LINQ語法? 我認為它更容易閱讀。 這是您的解決方案的替代方法:
from s in entities.MemberSite
where s.SiteID == siteID
orderby s.DateCreated
select s.Member).Take(50).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.