[英]Is it possible to use OfType in a linq where?
我有一個名為source的表,它有多個派生表,例如account等。我有一個第二個表,它有一個名為Source的表的導航屬性。
我想要做的是根據Source的類型過濾ActionItemState的結果,然后根據該繼承表的屬性進行過濾。
這是我正在嘗試做的一個例子。 當我嘗試下面的代碼時,我得到“.LINQ to Entities僅支持轉換EDM原語或枚舉類型”。 有沒有人知道使用OfType或類似的方法?
query = from a in _actionItemRepository.GetTable()
where a.ActionItemStates.Any(ais => ais.Source is AccountSource && ((AccountSource)ais.Source).AccountId == id)
select a;
您可以使用此代碼
Source.OfType<AccountSource>()
您在Where運營商之前申請
OfType<AccountSource>().Where(....)
嘗試用另一種方式:
var accountSources = db.Sources.OfType<AccountSource>();
var actionItemStates = accountSources.SelectMany(a => a.ActionItemStates);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.