BETWEEN CAST(GETDATE() AS DATE) AND DATEADD(WEEK, 4, CAST(GETDATE() AS DATE))
这是你在mssql中的方法。我怎样才能使用动态linq(或者它所谓的任何东西 - 比如C#,而不是字符串)。
我会感激任何帮助。
答案 0 :(得分:7)
我认为这是C#。
如果是这样,你可能正在寻找这样的东西:var theDate = {some date};
if (theDate <= DateTime.Today && theDate >= DateTime.Today.AddDays(-4 * 7))
{
// stuff goes here
}
就LINQ而言,它实际上取决于你想要做什么,但这应该给你一般的想法:
var foos = from foo in SomeQueryable
where foo.Date <= DateTime.Today
&& foo.Date >= DateTime.Today.AddDays(-4 * 7)
select foo;
答案 1 :(得分:1)
var qryResult = (from tbl in dbcontext.Yourtable
where tbl.CheckDate >= DateTime.Today
&& tbl.CheckDate <= System.Globalization.CultureInfo.InvariantCulture.Calendar.AddWeeks(DateTime.Today, 4) )
select tbl
).ToList();
答案 2 :(得分:0)
如果您只需要知道如何比较C#中的日期,那么:
创建扩展程序:
public static DateTime AddWeeks(this DateTime date, int weeks)
{
return date.AddDays(7*weeks);
}
在Linq中也是如此:
var now = DateTime.Now;
whatever.Where(d => now.AddWeeks(-4) < d && d < now)