2008-12-07 45 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语法是关闭的。我再也不用它了...