簡體   English   中英

Take()使用MySQL拋出未實現的異常實體框架6

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM