この例でクエリを作成する方法を知りたいです。
UserID、UserName、DateRegistered、およびロールを持つユーザー テーブルがあります。2つのコンボボックスを選択してクエリを作成したいのですが、各コンボボックスには次のものがあります: -期間登録ユーザー(当月、先月、現在の15日間、過去15日間、今年と昨年)
combobox
選択したアイテムを参照する結果クエリをグリッドに表示したい。例: 過去 15 日間にステータス管理者に登録されたユーザー。
私はそれを行う方法を考えていますが、一般的なことをしたいので、期間に応じてあまり多くのクエリを実行したくありません。私はEntityFrameworkを使用しています。
これは、ピリオドの変換と、現在の過去 15 日間ではない場合の比較方法がわからないため、私が想定するコードの単なる例ではありません。
string period = dropDownList.SelectedValue.ToString();
DateTime StarPeriode= new DateTime();
switch (option.ToUpper())
{
case "0":
// CURRENT 15 days
StarPeriode = DateTime.Now.Subtract(-15);
break;
case "1":
// LAST 15 days
StarPeriode = DateTime.Now.Subtract(-30);
break;
case "2":
// CURRENT MONTH
break;
case "3":
// LAST MONTH
break;
case "4":
// CURRENT YEAR
break;
case "5":
// LAST YEAR
break;
default:
break;
}
var _db = new Project.Models.UserContext();
IQueryable<User> query = _db.User.GetUser;
query = query.Where(p => p.User.RegisterDate <= StarPeriode || p.User.RegisterDate>DateTime.Now);