Возврат списка<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;
    }

0 ответов

Другие вопросы по тегам