本文整理汇总了C#中IDbConnection.QueryMultiple方法的典型用法代码示例。如果您正苦于以下问题:C# IDbConnection.QueryMultiple方法的具体用法?C# IDbConnection.QueryMultiple怎么用?C# IDbConnection.QueryMultiple使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDbConnection
的用法示例。
在下文中一共展示了IDbConnection.QueryMultiple方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Create
/// <summary>
///
/// </summary>
/// <param name="dbConnection"></param>
/// <param name="storedProcName"></param>
/// <param name="parameters"></param>
/// <param name="dbTransaction"></param>
/// <param name="commandTimeout"></param>
/// <param name="commandType"></param>
/// <returns></returns>
public IGridReader Create(IDbConnection dbConnection, string storedProcName, IList<IDbParameter> parameters = null, IDbTransaction dbTransaction = null, int? commandTimeout = null,
CommandType? commandType = null)
{
var dynamicParameters = ConvertToDynamicParameters(parameters);
return new DapperGridReader(dbConnection.QueryMultiple(storedProcName, dynamicParameters, dbTransaction, commandTimeout, commandType));
}
示例2: Details
// GET: Student/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadGateway);
}
_connection = Connect.Open();
const string query = @"SELECT * from Student stu where StudentId = @id " +
"SELECT * from Enrollment enr where enr.StudentId in ( SELECT StudentId from Student stu where Studentid = @id) " +
"SELECT * FROM Course cou WHERE cou.CourseId in (SELECT CourseId from Enrollment where StudentId = @id)";
var enrollLst = new List<Enrollment>();
var ctr = 0;
var studentLst = _connection.QueryMultiple(query, new { id })
.Map<Student, Enrollment, Course, int>(
student => student.StudentId,
enrollment => ctr = enrollment.StudentId,
course => course.CourseId = ctr,
((student, enrollments) => enrollLst = enrollments.ToList()),
((student, courses) =>
{
var ctrId = 0;
courses.ToList().ForEach(cour =>
{
if (cour != null)
{
enrollLst[ctrId].Course = cour;
ctrId++;
}
else
{
enrollLst[ctrId].Course = null;
ctrId++;
}
});
student.Enrollments = enrollLst;
})).FirstOrDefault();
if (studentLst == null)
{
return HttpNotFound();
}
return View(studentLst);
}