У меня есть уровень репозитория, уровень обслуживания и уровень контроллера для моей пользовательской сущности. Я хочу обновить одну из моих записей по имени пользователя.
Это мой уровень репозитория для обновления:
public async Task UpdateUserAsync(entities.User entity)
{
_dbContext.Users.Update(entity);
await _dbContext.SaveChangesAsync();
return entity;
}
public async Task GetUserAsync(string userName)
{
var result = await _dbContext.Users.FirstOrDefaultAsync(x => x.UserName ==
userName);
return result;
}
Теперь я использую свой метод обновления на уровне сервиса:
public async Task UpdateUserAsync(UserUpdateRequestDto dto)
{
var user = await _userRepository.GetUserAsync(dto.UserName);
if (user == null)
{
throw new Exception("User not found.");
}
user.Email = dto.Email ?? user.Email;
user.Name = dto.Name ?? user.Name;
user.Family = dto.Family ?? user.Family;
user.Password = dto.Password ?? user.Password;
user.ConfirmPassword = dto.ConfirmPassword ?? user.ConfirmPassword;
user.RoleId = dto.RoleId != 0 ? dto.RoleId : user.RoleId;
await _userRepository.UpdateUserAsync(user);
Теперь это мой раздел контроллера для этой функции:
[HttpPut]
[Route("update-user")]
public async Task UpdateUserAsync(UserUpdateRequestDto dto)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
try
{
await _userService.UpdateUserAsync(dto);
return Ok("User updated successfully.");
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
My problem is when I tried my update function with swagger,it updates my record but it shows string value for all fields and If I enter username and a value for other fields ,it updates but change the other records to string in database.How can I fix this problem to solve this?
Подробнее здесь: https://stackoverflow.com/questions/790 ... chitecture
Функция обновления в моем CRUD с архитектурой Repository-Services-Controllers ⇐ C#
Место общения программистов C#
1729037571
Anonymous
У меня есть уровень репозитория, уровень обслуживания и уровень контроллера для моей пользовательской сущности. Я хочу обновить одну из моих записей по имени пользователя.
Это мой уровень репозитория для обновления:
public async Task UpdateUserAsync(entities.User entity)
{
_dbContext.Users.Update(entity);
await _dbContext.SaveChangesAsync();
return entity;
}
public async Task GetUserAsync(string userName)
{
var result = await _dbContext.Users.FirstOrDefaultAsync(x => x.UserName ==
userName);
return result;
}
Теперь я использую свой метод обновления на уровне сервиса:
public async Task UpdateUserAsync(UserUpdateRequestDto dto)
{
var user = await _userRepository.GetUserAsync(dto.UserName);
if (user == null)
{
throw new Exception("User not found.");
}
user.Email = dto.Email ?? user.Email;
user.Name = dto.Name ?? user.Name;
user.Family = dto.Family ?? user.Family;
user.Password = dto.Password ?? user.Password;
user.ConfirmPassword = dto.ConfirmPassword ?? user.ConfirmPassword;
user.RoleId = dto.RoleId != 0 ? dto.RoleId : user.RoleId;
await _userRepository.UpdateUserAsync(user);
Теперь это мой раздел контроллера для этой функции:
[HttpPut]
[Route("update-user")]
public async Task UpdateUserAsync(UserUpdateRequestDto dto)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
try
{
await _userService.UpdateUserAsync(dto);
return Ok("User updated successfully.");
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
My problem is when I tried my update function with swagger,it updates my record but it shows string value for all fields and If I enter username and a value for other fields ,it updates but change the other records to string in database.How can I fix this problem to solve this?
Подробнее здесь: [url]https://stackoverflow.com/questions/79092072/update-function-in-my-crud-with-repository-services-controllers-architecture[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия