2016-10-04 68 views
0

我正在使用Dapper與SQLinq Nuget packageDapper&SQLinq包延遲/緩衝區

這是我使用的一些示例代碼。

在運行.ToList()(例如)之前,用SQLinq進行查詢運行查詢。

我知道Dapper,你可以指定「緩衝區」來使它延遲運行,但是我沒有看到如何將這個應用到Dapper的SQLinq NuGet包中。

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()