BETWEEN CAST(GETDATE() AS DATE) AND DATEADD(WEEK, 4, CAST(GETDATE() AS DATE))
這就是你如何在mssql中完成的。我怎樣才能使用動態LINQ(或不管它叫什麼 - 就像不是C#,而是字符串)。動態LINQ:今天和四周前的比較日期
我會很感激任何幫助。
BETWEEN CAST(GETDATE() AS DATE) AND DATEADD(WEEK, 4, CAST(GETDATE() AS DATE))
這就是你如何在mssql中完成的。我怎樣才能使用動態LINQ(或不管它叫什麼 - 就像不是C#,而是字符串)。動態LINQ:今天和四周前的比較日期
我會很感激任何幫助。
我認爲這是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;
我很抱歉我的問題有點難以理解,但這就是我一直在尋找的,所以thx! – Chris 2013-04-10 07:07:09
如果你只需要知道如何在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)
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();
閱讀18次,但沒有人能回答? – Chris 2013-04-09 13:56:11
你是什麼意思「動態linq(無論它被稱爲 - 像不是C#,但字符串」? – Alex 2013-04-09 13:58:26
我認爲它意味着''從一個在b「'而不是'b.Where(a => ...)' – harriyott 2013-04-09 14:01:41