2015-10-15 75 views
0

这是我的LINQ: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 

但是我想要在字符串数组中的linq记录如下:

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

有什么建议吗?

+0

您可以用逗号用户阵分裂,你会得到你的结果。 – NewbieProgrammer

+0

这必须是一个二维数组,以防你有两个结果具有相同的'EmailID'和'Password' – fubo

回答

2

我没有测试过这一点,但什么:

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(); 
+0

他使用'SelectMany',所以他需要'.ToArray()'。 – Enigmativity

相关问题