如果我使用 AsQueryable 准备查询并在实体框架中动态附加搜索条件,则与 SQL 查询相比需要很长时间。是否有任何替代方法可以在实体框架中创建动态查询?
谢谢杰里米
如果我使用 AsQueryable 准备查询并在实体框架中动态附加搜索条件,则与 SQL 查询相比需要很长时间。是否有任何替代方法可以在实体框架中创建动态查询?
谢谢杰里米
写原始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;