2016-10-04 5 views
0

Я использую Dapper с SQLinq Nuget package.Dapper & SQLinq Отложенный пакет/буфер

Вот пример кода, который я использую.

Dapper с SQLinq запускает запрос до того, как я запустил .ToList() (например).

Я знаю, что с Dapper вы можете указать «буфер», чтобы заставить его работать отложенным, но я не вижу, как применить это с пакетом SQLinq NuGet для Dapper.

using (var sqlCnn = base.GetConnection()) 
    { 
    var viewData = sqlCnn.Query(from s in new SQLinq<Week_Returns_stats_V>(). . . 

public SqlConnection GetConnection(bool mars = false) 
{ 
    if (_sqlCnn != null) 
    { 
     if (_sqlCnn.State != ConnectionState.Open) CloseConnection(); 
    } 

    if (mars) 
    { 
     var scsb = new SqlConnectionStringBuilder(_cnnString) 
    { 
     MultipleActiveResultSets = true 
    };    
    } 

    _sqlCnn = new SqlConnection(_cnnString); 
    return _sqlCnn; 
} 

ответ

0

Я нашел, как включить буферизацию после запроса.

public static IEnumerable<T> Query<T> 
(this IDbConnection dbconnection, 
SQLinq<T> query, 
IDbTransaction transaction = null, 
bool buffered = true, 
int? commandTimeout = default(int?), 
CommandType? commandType = 
default(CommandType?)) where T : new(); 

var viewData = sqlCnn.Query(from s in new SQLinq<Returns_stats() 
       select new 
       { 
       AVGPercentReturnX100 = s.AVGPercentReturnX100, 
       PercentProfitableX100 = s.PercentProfitableX100 
       }, buffered:true).AsEnumerable() 

 Смежные вопросы

  • Нет связанных вопросов^_^