EF SaveChanges не сохраняет и не выдает исключениеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 EF SaveChanges не сохраняет и не выдает исключение

Сообщение Anonymous »

У меня есть метод, который создает нового пользователя, а затем вставляет строку в таблицу разрешений пользователя, но ничего не происходит. Вот мой код:

Код: Выделить всё

// before: creates user

var permission = new UserPermission()
{
UserId = user.Id,
UserName = user.UserName,
Assets = createUserModel.Assets
};

AccountDb.UserPermissions.Add(permission);
var saveChangesResult = AccountDb.SaveChanges();

if (saveChangesResult == 0) // the result is always 0
{
AppUserManager.Delete(user);
return BadRequest("User permission could not be saved");
}

// then: add user to role and return ok
SaveChanges всегда возвращает 0 и не обновляет базу данных. Я уже искал это в Google и пробовал следующие действия:

Код: Выделить всё

// no success
AccountDb.UserPermissions.Attach(permission);

// no success either
AccountDb.Entry(permission).State = EntityState.Added;
Я тоже пробовал использовать асинхронный метод, но безуспешно.
Вот моя модель «UserPermission»:

Код: Выделить всё

public class UserPermission
{
public int Id { get; set; }

public string UserId { get; set; }

public string UserName { get; set; }

public string _Assets { get; set; }

[NotMapped]
public List Assets
{
get
{
if (_Assets == null) return null;
return Array.ConvertAll(_Assets.Split(';'), Int32.Parse).ToList();
}
set
{
_Assets = String.Join(";", value.Select(x => x.ToString()).ToArray());
}
}
}
Любопытно, потому что этот метод работал в последнее время, но после некоторых изменений в «AccountContext» и некоторых ролевых операций я заметил, что метод больше не работает. >

-- редактировать --

вот полный метод создания

Код: Выделить всё

[HttpPost]
[Route("create")]
public IHttpActionResult CreateUser(CreateUserBindingModel createUserModel)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}

if (createUserModel.RoleName is null)
{
return BadRequest("There is no role assigned to user");
}

var user = new UserModel()
{
UserName = createUserModel.UserName,
Email = createUserModel.Email,
FirstName = createUserModel.FirstName,
LastName = createUserModel.LastName
};

var addUserResult = AppUserManager.Create(user, createUserModel.Password);

if (!addUserResult.Succeeded)
{
return GetErrorResult(addUserResult);
}

var permission = new UserPermission()
{
UserId = user.Id,
UserName = user.UserName,
Assets = createUserModel.Assets
};

AccountDb.UserPermissions.Add(permission);
var saveChangesResult = AccountDb.SaveChanges();

if (saveChangesResult == 0)
{
AppUserManager.Delete(user);
return BadRequest("User permission could not be saved");
}

var addRoleResult = AppUserManager.AddToRole(user.Id, createUserModel.RoleName);

if (!addRoleResult.Succeeded)
{
AppUserManager.Delete(user);
return GetErrorResult(addUserResult);
}

return Ok(TheModelFactory.Create(user));
}
-- изменить 2 --

Я использовал строку базы данных Azure и перешел на локальную базу данных строка, но проблема все та же: таблица UserPermissions не обновляется и ошибок не возникает.

Подробнее здесь: https://stackoverflow.com/questions/483 ... -exception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • EF Core выдает исключение при вызове метода SaveChanges
    Anonymous » » в форуме C#
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Метод context.SaveChanges() не сохраняет данные в базе данных
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • EF Core бросает исключение, когда вызывается метод SaveChanges
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Изображение, созданное SigaturePad, не сохраняет надпись, оно сохраняет только фон [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    53 Просмотры
    Последнее сообщение Anonymous
  • Сохраняет ли добавление нулей к встраиванию слов, чтобы увеличить размерность, сохраняет их семантическое значение?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»