私は3つのテーブルを持っています
Roles
------
RoleId(PK)
RoleName
RoleDescription
CustomPermissions
-----------------
PermissionId(PK)
PermissionName
PermissionDescription
RolePermissionMappings
------------------------
RoleId (PK)
PermissionId(PK)
Role_RoleId(FK)
CustomPermission_PermissionId(FK)
個々に、ロールと CustomPermissions テーブルに値を追加できます。RolePermissionMappings テーブルの値をマップしようとしているときに、このエラーが発生します。
Entities in 'RolePermissionMappingContainer.RolePermissionMappings'
participate in the 'RoleRolePermissionMapping' relationship. 0 related 'Role' were found. 1 'Role' is expected.
ロールには n 個の権限があり、RolePermissionMappings テーブルで次のようにマッピングする必要があります
RoleId PermissionId
------ ------------
2 2
2 4
2 5
2 8
2 10
ここに私のコード
bool ICustomPermissions.AddPermissionsToRole(RoleDataContract role, List<PermissionDataContract> permissions)
{
using(_context = new RolePermissionMappingContainer())
{
RolePermissionMapping rpm = new RolePermissionMapping();
{
rpm.RoleId = role.RoleId;
foreach (PermissionDataContract pdc in permissions)
{
rpm.PermissionId = pdc.PermissionId;
//_context.RolePermissionMappings.AddObject(rpm);
_context.RolePermissionMappings.AddObject(rpm);
_context.SaveChanges();
}
}
}
return true;
}
エラーが発生した場所を修正してください。