gpt4 book ai didi

c# - 在不使用 Where() 的情况下使用 GroupBy() 和 Timeout() 时出现 NotSupportedException

转载 作者:行者123 更新时间:2023-11-30 18:28:50 25 4
gpt4 key购买 nike

我正在尝试使用无状态 session 执行以下查询。

var products = session.Query<Product>().Timeout(5 * 60)
.GroupBy(p => p.ProductType)
.Select(p => new {ProductType = e.Key, Count = e.LongCount()}).ToList();

它会导致 NotSupportedException,但是下面的代码可以正常工作

var products = session.Query<Product>().Timeout(5 * 60)
.Where(p => true)
.GroupBy(p => p.ProductType)
.Select(p => new {ProductType = e.Key, Count = e.LongCount()}).ToList();

var products = session.Query<Product>()
.GroupBy(p => p.ProductType)
.Select(p => new {ProductType = e.Key, Count = e.LongCount()}).Timeout(5 * 60).ToList();

如果我添加了 Timeout() 为什么我需要 Where() 并且如果 Timeout() 最后一个它为什么可以工作?

最佳答案

我对 nHibernate 不熟悉,但我想 Timeout() 方法返回的对象类型不能被 GroupBy() 扩展方法扩展。所以你可以尝试显式转换:

var products = (IEnumerable<Product>)(session.Query<Product>().Timeout(5 * 60))
.GroupBy(p => p.ProductType)
.Select(p => new {ProductType = e.Key, Count = e.LongCount()}).ToList();

关于c# - 在不使用 Where() 的情况下使用 GroupBy() 和 Timeout() 时出现 NotSupportedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24119607/

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