Улучшена задержка поиска при использовании структуры объекта - PullRequest
0 голосов
/ 05 июня 2018

Если я подготавливаю запрос с использованием AsQueryable и динамически добавляю критерии поиска в инфраструктуру сущностей, это занимает так много времени по сравнению с запросом SQL.Есть ли альтернативный подход для создания динамических запросов в рамках сущности?

Спасибо, Джереми

1 Ответ

0 голосов
/ 05 июня 2018

Как насчет записи raw sql?это может быть не самый лучший вариант, но это альтернатива .. нужно сравнить время

Вы можете использовать что-то подобное, чтобы сделать работу.

        //an entity to return
        AltPedVendaModel ret = new AltPedVendaModel();

        var conn = DbContext.Database.GetDbConnection();
        try
        {

            conn.Open();
            using (var command = conn.CreateCommand())
            {
                string query = $"select * from .......";
                command.CommandText = query;
                DbDataReader reader = command.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        //read line to line 
                        ret = new AltPedVendaModel
                        {
                            IsOk = reader.GetBoolean(0),
                            Awb = reader.GetString(1),
                            Invoice = reader.GetString(2),
                            Po = reader.GetString(3),
                            Obs = reader.GetString(4),
                            Frete = reader.GetDecimal(5),
                        };

                    }
                }
                reader.Dispose();
            }


        }
        catch (Exception ex)
        {

        }
        finally
        {
            conn.Close();
        }

        return ret;
...