使用查询设置值数组

时间:2009-10-03 16:21:49

标签: arrays linq-to-sql

我想用查询的结果设置这个数组,但我不能。我该怎么做?

String[] q = (from p in MDB.aspnet_Memberships
                      where p.aspnet_User.aspnet_UsersInRoles.Single().aspnet_Role.RoleName.ToString() == GroupDDL.SelectedItem.ToString()
                      select new{p.UserId }).ToArray();

例外:

  

无法将类型'AnonymousType#1 []'隐式转换为'string []'

1 个答案:

答案 0 :(得分:0)

您正在使用大括号选择新的匿名对象。当您执行“select new { p.UserID }”时,编译器会创建一个全新的对象类型。你只需要userID本身,而不是一个新的对象包装它们。试试吧

select p.UserId).ToArray();

作为你的select子句。