0
我有一個類的方法方法不能被翻譯成店的表達,但它的機身可以
public partial class User
{
public IEnumerable<Event> GetLikedEvents()
{
return this.Operations.Where(o => o.typeId ==
Consts.MarkAsLikedOperationTypeId).Select(o => o.Event);
}
}
和表達的評估
IQueryable<User> users = repository.GetUsers().
Where(u => u.GetLikedEvents().Any(e => e.id == likedEventId));
拋出異常LINQ到實體無法識別方法GetLikedEvents()方法,並且此方法不能轉換爲商店表達式。
但如果我的方法的複製體,以表達這樣
IQueryable<User> users = repository.GetUsers().
Where(u => u.Operations.
Where(o => o.typeId == Consts.MarkAsLikedOperationTypeId).
Select(o => o.Event).
Any(e => e.id == likedEventId));
它的翻譯沒有錯誤。
所以我很感興趣如果我要在不同的地方進行不同的喜歡事件檢查,我該如何避免代碼重複?