gpt4 book ai didi

c# - 如何在两种方法之间共享一个 LINQ 查询?

转载 作者:行者123 更新时间:2023-12-04 18:20:30 25 4
gpt4 key购买 nike

有没有办法在两种方法之间共享一个 LINQ 查询?我有很长的 LINQ 查询从数据库中获取搜索结果,我需要使用这个查询来获取结果(某种列表<>)-第一种方法-并获取它的计数(int)-第二种方法-。我不想在两个单独的方法中复制此查询,也无法返回包含搜索结果和记录计数的自定义类对象(由此查询返回)。所以我想做的是获取 LINQ 查询定义(或类似的东西?),但没有我可以在其他方法中使用的结果集。也许还有另一种好方法可以做到这一点。谢谢你的帮助;)

代码如下所示:

public ??? GetSearchResultsQuery(SearchRequest search_request)
{
var queryGetSearchResults = ....
return queryGetSearchResults;
}

public int GetSearchResultsCount(SearchRequest search_request)
{
return GetSearchResultsQuery(search_request).Count();
}

public List<SearchResults> GetSearchResults(SearchRequest search_request)
{
return GetSearchResultsQuery(search_request).Skip(search_request.startRowIndex).Take(search_request.maximumRows).ToList();
}

最佳答案

public IQueryable<SearchedForType> GetSearchResultsQuery(SearchRequest search_request)
{
var queryGetSearchResults = context.SearchedForTypes.Where(x => x == search_request.X);
... build up your search query ...
return queryGetSearchResults;
}

关于c# - 如何在两种方法之间共享一个 LINQ 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787116/

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