2016-10-04 7 views
0

私はSQLinq Nuget packageでDapperを使用しています。Dapper&SQLinqパッケージ遅延/バッファ

私が使用しているサンプルコードを次に示します。

DapperとSQLinqを実行する前に、(たとえば).ToList()を実行します。

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