C# Linq记录到字符串数组

C# Linq记录到字符串数组,c#,arrays,string,linq,linq-to-entities,C#,Arrays,String,Linq,Linq To Entities,这是我的LINQ: var context = new CYGNETEntities(); var users = (from u in context.mUsers where u.userName == EmailID && u.password == Password select new { u.userName, u.

这是我的LINQ:

var context = new CYGNETEntities();
var users = (from u in context.mUsers
             where u.userName == EmailID && u.password == Password
             select new 
             { 
                 u.userName,  
                 u.firstName,  
                 u.lastName  
             })
    .AsEnumerable()
    .Select(x => string.Format("{0}, {1}, {2}", x.userName, x.firstName, x.lastName))
    .ToArray();
此处,实际值如下所示:

   u.userName = "admin"
   u.firstName = "fname"
   u.lastName = "lname"
因此,linq返回如下:

users[0] = admin, fname, lname
   users[0] = admin
   users[1] = fname
   users[2] = lname
但是我想要字符串数组中的linq记录,如下所示:

users[0] = admin, fname, lname
   users[0] = admin
   users[1] = fname
   users[2] = lname

有什么建议吗?

我还没有测试过,但是关于:

var users = (from u in context.mUsers
              where u.userName == EmailID && u.password == Password
              from s in new string [] { u.username, u.FirstName, u.LastName }
              select s).ToArray();

你可以用逗号分割用户数组,你将得到你的结果。这必须是一个二维数组,以防你有两个结果具有相同的
EmailID
Password
他使用的是
SelectMany
,所以他需要
.ToArray()