将 SQL 转换为 ServiceStack.ORMLite Sql 服务器
Convert SQL to ServiceStack.ORMLite Sql Server
如何将下面的SQL转成ServiceStack.OrmLiteSql服务器格式?
/* Total Receipts */
select convert(date, t.TransactionDate) [Date], tm.TeamId,a.AccountNumber, count(distinct(t.RequisitionNumber)) Total
from task.tblTransactions t
inner join task.tblRequisitions r on r.RequisitionNumber = t.RequisitionNumber
inner join task.tblAccounts a on a.AccountNumber = r.AccountNumber
inner join Team tm on tm.DivisionId = a.DivisionId
where t.TransactionTypeNumber = 201 and a.IsActive = 1
and t.TransactionDate between @fromDate and @toDate
group by convert(date, t.TransactionDate), tm.TeamName, a.AccountName
order by 1,2 desc
我的结果class:
public class KpiTotal : IKpiTotal
{
public DateTime Date { get; set; }
public int TeamId { get; set; }
public Team Team { get; set; }
public int AccountId { get; set; }
public Account Account { get; set; }
public double Total { get; set; }
}
对于像这样的自定义 SQL,您可以使用 OrmLite 的自定义 SQL API,例如:
var results = db.Select<Poco>(@"select convert(date, t.TransactionDate) [Date],
tm.TeamName, a.AccountName, count(distinct(t.RequisitionNumber)) Total
from task.tblTransactions t
inner join task.tblRequisitions r on r.RequisitionNumber = t.RequisitionNumber
inner join task.tblAccounts a on a.AccountNumber = r.AccountNumber
inner join Team tm on tm.DivisionId = a.DivisionId
where t.TransactionTypeNumber = 201 and a.IsActive = 1
and t.TransactionDate between @fromDate and @toDate
group by convert(date, t.TransactionDate), tm.TeamName, a.AccountName
order by 1,2 desc", new { fromDate = fromDate, toDate = toDate });
其中 fromDate
和 toDate
是您的参数化变量,Poco
是自定义类型,其字段与返回的结果集匹配。
如何将下面的SQL转成ServiceStack.OrmLiteSql服务器格式?
/* Total Receipts */
select convert(date, t.TransactionDate) [Date], tm.TeamId,a.AccountNumber, count(distinct(t.RequisitionNumber)) Total
from task.tblTransactions t
inner join task.tblRequisitions r on r.RequisitionNumber = t.RequisitionNumber
inner join task.tblAccounts a on a.AccountNumber = r.AccountNumber
inner join Team tm on tm.DivisionId = a.DivisionId
where t.TransactionTypeNumber = 201 and a.IsActive = 1
and t.TransactionDate between @fromDate and @toDate
group by convert(date, t.TransactionDate), tm.TeamName, a.AccountName
order by 1,2 desc
我的结果class:
public class KpiTotal : IKpiTotal
{
public DateTime Date { get; set; }
public int TeamId { get; set; }
public Team Team { get; set; }
public int AccountId { get; set; }
public Account Account { get; set; }
public double Total { get; set; }
}
对于像这样的自定义 SQL,您可以使用 OrmLite 的自定义 SQL API,例如:
var results = db.Select<Poco>(@"select convert(date, t.TransactionDate) [Date],
tm.TeamName, a.AccountName, count(distinct(t.RequisitionNumber)) Total
from task.tblTransactions t
inner join task.tblRequisitions r on r.RequisitionNumber = t.RequisitionNumber
inner join task.tblAccounts a on a.AccountNumber = r.AccountNumber
inner join Team tm on tm.DivisionId = a.DivisionId
where t.TransactionTypeNumber = 201 and a.IsActive = 1
and t.TransactionDate between @fromDate and @toDate
group by convert(date, t.TransactionDate), tm.TeamName, a.AccountName
order by 1,2 desc", new { fromDate = fromDate, toDate = toDate });
其中 fromDate
和 toDate
是您的参数化变量,Poco
是自定义类型,其字段与返回的结果集匹配。