-2

如果我使用 AsQueryable 准备查询并在实体框架中动态附加搜索条件,则与 SQL 查询相比需要很长时间。是否有任何替代方法可以在实体框架中创建动态查询?

谢谢杰里米

4

1 回答 1

-1

写原始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;
于 2018-06-05T13:19:13.080 回答