gpt4 book ai didi

c# - 获取基本 IQueryable 实例的 Count()

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:12 25 4
gpt4 key购买 nike

我需要在运行时确定要填充哪个 View recordSet从。但是当我声明 recordSet作为IQueryable我无法访问 Count() 等功能.
如果我声明 recordSet作为IQueryable<View_A>然后我可以访问,但我已经锁定了类型。是否有一些更通用的类型我可以与 IQueryable 一起使用?

IQueryable recordSet;

if (Flag)
recordSet = db.View_A.Where(v => v.ID == Id);
else
recordSet = db.View_B.Where(v => v.ID == Id);

int recordCount = recordSet.Count(); //complains about Count();

最佳答案

Count 扩展适用于 IQueryable<>类型,这就是为什么你不能在 IQueryable 上使用它.

然而,covariance如果您以这种方式声明您的记录集,应该允许您的代码工作:

IQueryable<Object> recordSet;

正如@hvd 在下面的评论中指出的那样,此处的协方差仅适用于引用类型。

关于c# - 获取基本 IQueryable 实例的 Count(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413051/

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