Dapper & SQLinq 包延迟/缓冲

Dapper & SQLinq Package Deferred / Buffer

我在 SQLinq Nuget package 中使用 Dapper。

这是我正在使用的一些示例代码。

Dapper with SQLinq 运行s 在我 运行 a .ToList() 之前的查询(例如)。

我知道您可以使用 Dapper 指定 "buffer" 以使其 运行 延迟,但我不知道如何将其应用于 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;
}

我找到了如何在查询后包含缓冲。

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