0

簡単な経費追跡を行う Windows Phone アプリケーションを開発しています。私のアプリケーションでは、ユーザーはアイテム名、価格、コメント、および日時によって作成された費用を入力し、詳細がデータベースに保存されます。

私のテーブルには4つの列があります

  1. アイテム名(文字列)
  2. 料金(2倍)
  3. コメント(文字列)
  4. 日付(日時)

今日の日付、現在の週、月、および年までに発生した費用のレポートを作成するにはどうすればよいですか? また、今日、現在の週、月、および年の価格の合計は? 以下は私のデータコンテキストであり、現在、すべての費用のみを表示できます..助けてください...私はWindows PhoneプログラミングとSQLへのlinqが初めてです..

   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;
    }

上記の問題を解決できるコードまたはリンクを教えてください。私が何か間違ったことをしているなら、私を導いてください..

4

2 に答える 2

0

この記事http://www.codethinked.com/grouping-linq-aggregates-in-cを見て、LINQ での集約とグループ化について説明しています。

于 2013-01-01T12:42:51.327 に答える
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);
于 2013-01-01T12:51:25.083 に答える