2012年7月2日 星期一

{Linq} SqlMethods類別--日期差異Linq To Sql運用


在linq中執行日期相差之sql 語法
可使用SqlMethods類別
using System.Data.Linq.SqlClient.SqlMethods

範例:
假設要取今天以前的資料,不包含今天
SQL語法:
SELECT * FROM abcTable WHERE datediff (DAYOFYEAR,time,GETDATE())>0

Linq語法:
 context. abcTable. Where(s=>System.Data.Linq.SqlClient.SqlMethods.DateDiffDay(s.time,DateTime.Now)>0).ToList();



參考資料:http://msdn.microsoft.com/zh-tw/library/system.data.linq.sqlclient.sqlmethods.aspx
http://www.dotblogs.com.tw/dc690216/archive/2009/09/13/10602.aspx
http://www.cnblogs.com/jamin/archive/2008/09/17/1292562.html

sql之msdn
http://msdn.microsoft.com/zh-tw/library/ms189794.aspx