2008-12-07 67 views
1

在過去,我使用動態sql和datatable從數據庫中獲取數據。從Datatable到Linq到Sql的遷移

如:

Public shared function GetUsersByUsername(byval username as string) as datatable 

dim strSQL as string="select * from 

Users where Username= " & username 

return dbClass.datatable(strSQL) 

end function 

而且我可以用這個數據,這一點:

Dim Email as string = GetUsersByUsername("mavera").rows(0).items("email")` 

datagrid1.datasource=GetUsersByUsername("mavera") 

datagrid1.databind() 

而現在,我想用的LINQ to SQL做那。我可以用linq寫查詢,但是我不能像數據表一樣使用它。我應該怎麼做?

回答

2

你應該完全擺脫GetUsersByName(),因爲你可以在一行中完成。您還必須更改如何您獲得用戶電子郵件等內容。所以GetUsersByName()將被改寫這樣的:

dc.Users.Where(Function(u) u.Username = username); 

和電子郵件賦值語句就可以寫成:

Dim Email as string = users.First().Email; 

原諒我,如果我的VB語法是關閉的。我再也不用它了...