0
嗨誰能建議如何將下面的SQL腳本更改爲linq?將sql更改爲linq
SELECT *, CASE WHEN datepart(day, DateIssue)<27 THEN datepart(month,DateIssue) ELSE datepart(month,DateIssue) % 12 + 1 END as group_name FROM Payments;
感謝
嗨誰能建議如何將下面的SQL腳本更改爲linq?將sql更改爲linq
SELECT *, CASE WHEN datepart(day, DateIssue)<27 THEN datepart(month,DateIssue) ELSE datepart(month,DateIssue) % 12 + 1 END as group_name FROM Payments;
感謝
假設你有一個名爲Payments
付款清單:
var query = from p in Payments
let dateIssue = (DateTime)p["DateIssue"]
let gName = (dateIssue.Day < 27) ? (dateIssue.Month) : (dateIssue.Month % 12 + 1)
select new { payment = p, groupName = gName };
的Payments
列表可以是任何東西,從可迭代
如果需要的話,你可以遍歷派生這樣:
foreach (var value in query) {
// value.payment the original item of Payments
// and value.groupName contains the other column
}
上帝保佑!
您好,我實際上是指這個線程[鏈接](http://stackoverflow.com/questions/4922231/grouping-data-by-date-ranges)其中Ovidiu Pacurar發佈的SQL腳本,而不是LINQ。我已經嘗試過使用他的腳本,它的作品,所以我想知道任何其他人有任何想法改變到LINQ。謝謝 – VeecoTech 2011-02-08 02:03:53
一旦你學會了如何使用它,你將會很享受LINQ。我強烈建議你坐下來用一個很好的教程(甚至是[MSDN](http://msdn.microsoft.com/en-us/library/bb308959.aspx)),並真正學習LINQ是如何工作的。要求別人逐一轉換表達方式不是一種掌握的途徑。 – 2011-02-08 02:07:02