Я хочу создать страницу для сохранения ролей. Я сделал этот класс, чтобы расширить базовую c роль
namespace TechManagement.Models
{
public class UsersRole : IdentityRole<int>
{
public string FrenchName { get; set; }
public int AdminUtilAccess { get; set; }
}
}
Я могу читать таблицу ролей и отображать ее. Это также меняет сам мой предмет.
Я могу сохранить первую роль, но не могу изменить ее или создать новую. Кроме того, базовое свойство Name также не сохраняется даже при первом создании.
{
if (command == TechManagement.Display.Save)
{
// update actual database
foreach (var item in UserRoles)
if (item.Remove == true)
_context.UserRole.Attach(item).State = EntityState.Deleted;
else
_context.UserRole.Attach(item).State = EntityState.Modified;
var newItems = Int32.Parse(Request.Form["Added"]);
IEnumerable<PropertyInfo> propertyInfos = typeof(UsersRole).GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(p => p.GetCustomAttribute<BaseClass.PersitablePropertyAttribute>() != null);
for (var i = 1; i <= newItems; i++)
{
UsersRole item= new UsersRole();
MakeObject(item, propertyInfos, i.ToString());
if (item.Remove == false)
_context.Attach(item).State = EntityState.Added;
}
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException e)
{
}
}
return RedirectToAction("List");
}
Этот код включается в зацепку, говоря, что ожидается, что он будет применяться к 1 строке, но был применен к 0 строке, с указанием параллелизма