2013-05-16 37 views
0
幫助的行數

我的表由3列(SNO,姓名,年齡)現在我從額外的列(行號)的數據庫中檢索這個表,我用下面的代碼與LINQ

select * from (
    select ROW_NUMBER() over (order by SNo asc)as rowindex,SNo,Name,Age 
    from tblExample) 
    as example where rowindex between ((pageindex*10)+1) and ((pageindex+1)*10) 

注:這裏的PageIndex是需要這是由用戶通過一些intger值varaible

我的數據庫是SQL Server 2008中,現在我想用LINQ

任何一個可以寫同樣的查詢請更改上面的sql查詢i nto linq。 IAM無法做到這一點,因爲IAM新linq。 IAM擊中了這個問題,請幫我謝謝你提前

+0

像context.tlbExample.OrderBy(X => x.SNo).Skip(PageIndex的* 10 ).Take(10).Select((i,x)=> new {rowindex = i + pageindex * 10 + 1,x.SNo,x.Name,x.Age}) – adrianm

+0

[How do I add ROW \ _NUMBER到LINQ查詢或實體?](http://stackoverflow.com/questions/1165028/how-do-i-add-row-number-to-a-linq-query-or-entity) –

回答

2

您可以編寫查詢作爲beow

var index=1; 
      var pageIndex=1; 
      var pageSize = 10; 
      data.Select(x => new 
      { 
       RowIndex = index++, 
       Sno = x.Sno, 
       Name = x.Name, 
       Age = x.Age 
      }).OrderBy(x => x.Name) 
      .Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList(); 
+0

謝謝你爲你的關心。我複製了你的代碼。 iam在數據附近出現錯誤。選擇「數據在當前上下文中不存在 – sree

+0

'data'是EntityDataModel中't​​blExample'的對象,並且確保已導入'System.Linq'名稱空間 – vijay

+0

謝謝幫助了我很多: ) – sree