【发布时间】:2021-12-27 17:24:16
【问题描述】:
我想在 return 语句中使用 Yield 关键字,但使用后我遇到了强制转换问题:
无法将类型“IEnumerable - Mderator”隐式转换为 “主持人”。存在显式转换(您是 缺少演员表?)
当我删除 Yield 关键字时,我没有错误,我不想使用 dynamic 作为类型返回。
这是我的方法:
public IEnumerable<Moderator> GetAllModerators(int id)
{
RtcRepository repoRtc = new RtcRepository(db);
yield return repoRtc.GetByID(id).Collection1.SelectMany(x => x.Collection2.Select(y => y.Moderator));
}
【问题讨论】:
-
“我想在 return 语句中使用
Yield关键字” - 实际上,你没有。无论如何,不是因为你所展示的。当你删除它时,如果你没有收到错误,那是什么问题? -
@madreflection 我不想删除它,但是当我删除它时我说它有效,我没有错误,添加后我遇到了演员表的问题
-
再一次,你不想要它。
yield return只能产生一个元素。要对整个集合执行yield return,您需要迭代集合,例如使用foreach循环。
标签: c# entity-framework linq