gpt4 book ai didi

c# - 是否可以在 linq where 中使用 OfType?

转载 作者:行者123 更新时间:2023-11-30 17:09:37 26 4
gpt4 key购买 nike

我有一个名为 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;

enter image description here

最佳答案

尝试用它的另一种方式:

var accountSources = db.Sources.OfType<AccountSource>();
var actionItemStates = accountSources.SelectMany(a => a.ActionItemStates);

关于c# - 是否可以在 linq where 中使用 OfType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12805287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com