本文整理汇总了C#中IDbConnection.List方法的典型用法代码示例。如果您正苦于以下问题:C# IDbConnection.List方法的具体用法?C# IDbConnection.List怎么用?C# IDbConnection.List使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDbConnection
的用法示例。
在下文中一共展示了IDbConnection.List方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OrdersByShipper
public OrdersByShipperResponse OrdersByShipper(IDbConnection connection, OrdersByShipperRequest request)
{
var fld = OrderRow.Fields;
var year = 1998; // as Northwind data is old, this is hardcoded, use DateTime.Today.Year for other tables
var startOfMonth = new DateTime(year, DateTime.Today.Month, 1);
var startingFrom = startOfMonth.AddMonths(-11);
var response = new OrdersByShipperResponse();
var shippers = connection.List<ShipperRow>(q => q.SelectTableFields().OrderBy(ShipperRow.Fields.CompanyName));
response.ShipperKeys = shippers.Select(x => "s" + x.ShipperID.Value).ToList();
response.ShipperLabels = shippers.Select(x => x.CompanyName).ToList();
var monthExpr = "DATEPART(MONTH, " + fld.OrderDate.Expression + ")";
var byMonth = connection.Query(
new SqlQuery()
.From(fld)
.Select(monthExpr, "Month")
.Select(Sql.Count(), "Count")
.Select(fld.ShipVia, "ShipVia")
.GroupBy(monthExpr)
.GroupBy(fld.ShipVia)
.Where(
fld.OrderDate.IsNotNull() &
fld.OrderDate < startOfMonth.AddMonths(1) &
fld.OrderDate >= startingFrom))
.ToDictionary(x => new Tuple<int, int>(x.Month, x.ShipVia), x => (int)x.Count);
response.Values = new List<Dictionary<string, object>>();
var month = startingFrom.Month;
int mc;
for (var i = 0; i < 12; i++)
{
var d = new Dictionary<string, object>();
d["Month"] = new DateTime(1999, month, 1)
.ToString("MMM");
foreach (var p in shippers)
d["s" + p.ShipperID] = byMonth.TryGetValue(
new Tuple<int, int>(month, p.ShipperID.Value), out mc) ? mc : 0;
response.Values.Add(d);
if (++month > 12)
month = 1;
}
return response;
}
示例2: GetExisting
private List<MyRow> GetExisting(IDbConnection connection, Int32 roleId, string module, string submodule)
{
string prefix = "";
module = module.TrimToEmpty();
submodule = submodule.TrimToEmpty();
if (module.Length > 0)
prefix = module;
if (submodule.Length > 0)
prefix += ":" + submodule;
return connection.List<MyRow>(q =>
{
q.Select(fld.RolePermissionId, fld.PermissionKey)
.Where(new Criteria(fld.RoleId) == roleId);
if (prefix.Length > 0)
q.Where(
new Criteria(fld.PermissionKey) == prefix |
new Criteria(fld.PermissionKey).StartsWith(prefix + ":"));
});
}