このクラスで:
class User
{
int UserId{get;set;}
string UserName{get;set;}
}
class Role
{
int RoleId{get;set;}
string RoleName{get;set;}
}
class User_Role
{
int UserId{get;set;}
int RoleId{get;set;}
}
1つのリストボックスに使用可能なロールを表示し、他のリストボックスにユーザーがすでに持っているロールと繰り返すことができないロールを表示する必要があります。私は背後のコードでこれを行いました:
//Initialize the ObjectContext
MyDbContext ctx = new MyDbContext();
int userId; //some value pass by url;
var listRolesIds = (ctx.Roles.Select(r => r.RoleId )).ToList();
var listRolesIdsAsigned = ctx.User_Role.Where(u => u.UserId == userId).Select(u => new {u.UserId}).ToList();
var listRolesIdsAvailables = listRoles.Except(listRolesAsigned);
//once i have the ids, code for Bind the ListBox with the availables roles
それは機能しますが、維持するのが難しく、EntityDataSourceで作成するのが好きですが、その方法がわかりません。誰かが私を助けてくれるなら、私は感謝します、ありがとう。