WebSecurity
標準機能を使用して、ロールの管理-管理ページを作成しています。
このエラーが発生します
対応する主キー値が存在しないため、外部キー値を挿入できません。[外部キー制約名=fk_UserId]
次のコード行:
if(!Roles.IsUserInRole(userNames[0], roleNames[0])){
Roles.AddUsersToRoles(userNames, roleNames);
}
userId
個々のテーブルは列にリンクする必要があるという私の理解。そして彼らは。開発にはWebMatrix2とRazorフレームワークを使用しています。
SQLの首謀者によるアイデアや解決策はありますか?どうもありがとう!
以下は、私がどのように取り組んでいるかのコードフラグメントです!
@{
var roleName = "";
string[] userNames = new string[1];
string[] roleNames = new string[1];
var db = Database.Open("ResearchA");
var selectQueryString = "SELECT UserId, username FROM [usernames]";
if(IsPost){
// Create new role
if(!Request["buttonCreateRole"].IsEmpty()){
roleName=Request["textRoleName"];
if(!Roles.RoleExists(roleName) && !roleName.IsEmpty()){
Roles.CreateRole(roleName);
}
}
// Delete role
if(!Request["buttonDeleteRole"].IsEmpty()){
roleName=Request["textRoleName"];
if(Roles.GetUsersInRole(roleName).Length == 0 && !roleName.IsEmpty()){
Roles.DeleteRole(roleName, true);
}
}
// Add user to role
if(!Request["buttonAddUserToRole"].IsEmpty()){
userNames[0] = Request["selectUserName"];
roleNames[0] = Request["selectRoleName"];
if(!Roles.IsUserInRole(userNames[0], roleNames[0])){
Roles.AddUsersToRoles(userNames, roleNames);
}
}
// Delete user from role
if(!Request["buttonDeleteUserFromRole"].IsEmpty()){
userNames[0] = Request["selectUserName"];
roleNames[0] = Request["selectRoleName"];
if(Roles.IsUserInRole(userNames[0], roleNames[0])){
Roles.RemoveUsersFromRoles(userNames, roleNames);
}
}
}
}