Возврат списка<string> с помощью скомпилированного запроса linq
Я создаю скомпилированный запрос linq to sql на основе данного руководства и пытаюсь выяснить, как вернуть результаты в виде списка, чтобы я мог использовать результаты в своем коде. В настоящее время это IEnumerable по умолчанию, и я получаю сообщение об ошибке, что его нельзя перечислить дважды.
public static Func<OoplesDBDataContext, string, IEnumerable<string>> GetValidSymbols
{
get
{
Func<OoplesDBDataContext, string, IEnumerable<string>> func =
CompiledQuery.Compile<OoplesDBDataContext, string, IEnumerable<string>>
((OoplesDBDataContext context, string market) =>
from c in context.Symbols
where c.Market == market && c.isActive == true && c.isUnderReview == false
select c.Symbol1);
return func;
}
}
public static List<string> getStockSymbols(string market)
{
List<string> symbolList = new List<string>();
try
{
using (OoplesDBDataContext context = new OoplesDBDataContext())
{
context.ObjectTrackingEnabled = false;
var query = QueriesUtility.GetValidSymbols(context, market);
return query.ToList(); // breaks here with the error
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return null;
}