将列值返回为IEnumerable

Joe*_*Fan 3 c# sql linq yield

我有这个代码工作:

public IEnumerable<string> GetEmpNames()
{
    var cmd = SqlCommand("select [EmpName] from [dbo].[Emp]");
    using (var rdr = cmd.ExecuteReader())
        while (rdr.Read())
            yield return (string) rdr["EmpName"];
}
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否有更好的(LINQish)方式,而不必诉诸收益率.(并且LINQ to SQL不是一个选项:))

Amy*_*y B 5

IEnumerable<string> result = DataContext.ExecuteQuery<string>(sqlstring)
Run Code Online (Sandbox Code Playgroud)

http://msdn.microsoft.com/en-us/library/bb361109.aspx