メソッドの呼び出しRoleProvider
中に例外がスローされた後、ロールをユーザーに割り当てると、LINQ to SQL ベースを実装しました。AddUsersToRoles
このテーブルで複合主キーを定義しましたがuserid
、roleId
それでもこの例外がスローされます。
主キーがないため、'Table(UsersInRole)' で作成、更新、または削除操作を実行できません。
メソッドの私のLinQ to SQL実装は次のAddUsersToRoles
とおりです。で壊れますdb.UsersInRoles.InsertOnSubmit(userInRole);
using (RussarmsDataContext db = new RussarmsDataContext())
{
List<UsersInRole> usersInRole = new List<UsersInRole>();
foreach (string username in usernames)
{
foreach (string rolename in rolenames)
{
UsersInRole userInRole = new UsersInRole();
object userId = ProvidersUtility.GetUserIdByUserName(username,applicationName);
object roleId = ProvidersUtility.GetRoleIdByRoleName(rolename,applicationName);
if (userId != null && roleId != null)
{
userInRole.UserId = (Guid)userId;
userInRole.RoleId = (Guid)roleId;
db.UsersInRoles.InsertOnSubmit(userInRole);
}
}
}
try
{
// db.UsersInRoles.InsertAllOnSubmit(usersInRole);
db.SubmitChanges();
}
catch (ChangeConflictException)
{
db.ChangeConflicts.ResolveAll(RefreshMode.OverwriteCurrentValues);
db.SubmitChanges();
}
}
どんな助けでも大歓迎です。ありがとう。