Как изменить код для чтения результатов linq, уже написанных через IDataReader - PullRequest
0 голосов
/ 16 января 2019

Работаем над уже созданным кодом приложения и теперь работаем над аналогичной линией, но с Entity Framework (оракул). Возникла проблема с изменением кода ниже

// Already Written Code

private static IEnumerable<IEnumerable<T>> ExecuteReader1(
    IDbCommand command, List<IMapper<T>> mappers)
{
    var listOfList = new List<IEnumerable<T>>();

    //Here i have written code to fetch the data using LINQ (Entity Framework with Oracle)

    using (var reader = command.ExecuteReader(CommandBehavior.CloseConnection))
    {
        foreach (var mapper in mappers)
        {
            List<T> list;
            ReadResultset(reader, mapper, out list);
            listOfList.Add(list);

            if (!reader.NextResult())
                break;
        }
    }

    return listOfList;
}

private static void ReadResultset(IDataReader reader, IMapper<T> mapper, out List<T> list)
{
    list = new List<T>();

    while (reader.Read())
    {
        var item = new T();
        mapper.Map(reader, item);
        list.Add(item);
    }
}

Вопрос: Как изменить приведенный выше код, поскольку теперь результат будет в Linq. Пожалуйста, расскажите лучшую практику

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...