我正在开发一个可以进行简单费用跟踪的Windows Phone应用程序。 在我的应用程序中,用户输入项目名称,价格,评论和费用 日期时间和详细信息存储在数据库中。
我的桌子有4个coloums
如何生成今天的日期,当前周,月和年的费用报告?还有今天,当前周,月和年的总价格?下面是我的数据上下文,目前我只能显示所有费用..请帮助...我是Windows手机编程和linq to sql的新手..
namespace ExpenseTracker
{
[Table]
public class ExpensesTable
{
[Column(IsPrimaryKey = true)]
public string ItemName
{
get;
set;
}
[Column(CanBeNull = false)]
public double Price
{
get;
set;
}
[Column(CanBeNull = true)]
public string Notes
{
get;
set;
}
[Column(CanBeNull = false)]
public DateTime TodayDate
{
get;
set;
}
}
}
和
public IList<ExpensesTable> GetExpensesList()
{
IList<ExpensesTable> ExpensesList = null;
using (ExpensesDataContext Expdb = new ExpensesDataContext(strConnectionString))
{
IQueryable<ExpensesTable> ExpQuery = from Exp in Expdb.ExpensesInfo select Exp;
ExpensesList = ExpQuery.ToList();
}
return ExpensesList;
}
您能否提供我可以解决上述问题的任何代码或链接?如果我做错了什么,请指导我..
答案 0 :(得分:0)
看一下这篇文章http://www.codethinked.com/grouping-linq-aggregates-in-c,解释LINQ中的聚合和分组。
答案 1 :(得分:0)
只按日期范围(周,月等)过滤费用:
var query = from e in Expdb.ExpensesInfo
where e.Date >= beginDate && e.Date <= endDate
select e;
如果您需要计算总数:
double total = query.Sum(e => e.Price);
过滤今天的费用:
var beginDate = DateTime.Today;
var endDate = beginDate.AddDays(1).AddSeconds(-1);