【发布时间】:2013-02-26 18:55:21
【问题描述】:
我想知道如何在这个例子中进行查询:
我有一个包含 UserID、UserName、DateRegistered 和角色的用户表。 我想通过选定的两个组合框进行查询,每个组合都有: -期间注册用户(当月,上月,当前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);
【问题讨论】:
-
先显示一些你已经完成的代码。谢谢
-
线索。所有这些过滤器类别都可以重新定义为开始和结束日期。
-
我认为角色必须换一张桌子(只是一个建议)
-
User 表只是一个例子。我只是对如何使用期间构建 linq 查询有些疑问,因为它可以是当前 15 天、15 天之前、当前月份、上个月、当年和去年。
标签: c# asp.net .net linq entity-framework