私はこのコードを持っています。Linqカンマで文字列に一覧表示
var userListResult = from user in userList
from role in user.AspNetUsers.AspNetRoles
where role.Id == ((int)model.Roles).ToString()
select new UserManageViewModel.UserViewModel()
{
Id = user.UserId,
Email = user.AspNetUsers.Email,
Name = user.FirstName + " " + user.LastName,
IsAdviser = user.AspNetUsers.AspNetRoles.AsQueryable().Any(r => r.Id == ((int)eCareRoles.Adviser).ToString()),
IsAdmin = user.AspNetUsers.AspNetRoles.AsQueryable().Any(r => r.Id == ((int)eCareRoles.Admin).ToString()),
Company = user.UserCompanies != null ? user.UserCompanies.Name : String.Empty,
Role = model.Roles,
ListIfRoles = user.AspNetUsers.AspNetRoles.Select(x => x.Name).Aggregate((i, j) => i + "," + j)
};
カンマでListIfRoles文字列を取得する必要があります。しかし、私はいつもエラーが発生します "LINQ to Entitiesは、メソッド 'System.String Aggregate [String](System.Collections.Generic.IEnumerable 1[System.String], System.Func
3 [System.String、System.String、System.String])'メソッドを認識しません。このメソッドをストア式に変換することはできません。
私はstring.Join( "、"、list)を試しましたが、配列に変換してからJoinまたはAggregateしようとしましたが、常にエラーです。
また、私はこの `ユーザを試しました。
AspNetUsers.AspNetRoles.Select(x => x.Name).AsEnumerable().Aggregate((i, j) => i + "," + j)
もう一度エラーが発生します。 お願いします。
'string.Joinは( ""、user.AspNetUsers.AspNetRoles.Select(X => x.Name).ToArrayは())' - 参加は配列を受け取り。 – john
"LINQ to Entitiesは、 'System.String Join(System.String、System.String [])'メソッドのメソッドを認識せず、このメソッドをストア式に変換することはできません。 –