Foreign Key ile bağlı olduğu için sizin ID kısmına yazdığınız değer Images tablosunda yer almadığı için hata alıyor olabilir misiniz , emin değilim
anlayamadım bir türlü hocam
Controller ım
[HttpPost]
public async Task<IActionResult> Update(CarUpdateDto carUpdateDto)
{
var map = mapper.Map<Car>(carUpdateDto);
var result = await validator.ValidateAsync(map);
if (result.IsValid)
{
await carService.UpdateCarAsync(carUpdateDto);
return RedirectToAction("Index", "Car", new { Area = "Admin" });
}
else
{
result.AddToModelState(this.ModelState);
}
var categories = await categoryService.GetAllCategoriesNonDeleted();
carUpdateDto.Categories = categories;
var brands= await brandService.GetAllBrandsNonDeleted();
carUpdateDto.Brands= brands;
return View(carUpdateDto);
}Servis kodlarım:
public async Task UpdateCarAsync(CarUpdateDto carUpdateDto)
{
var userName = userService.GetUserName();
var car = await unitOfWork.GetRepository<Car>().GetAsync(x => !x.IsDeleted && x.Id == carUpdateDto.Id, x => x.Category, x=>x.Brand,i=>i.Image);
if (carUpdateDto.Photo != null)
{
imageHelper.Delete(car.Image.FileName);
var imageUpload = await imageHelper.Upload(carUpdateDto.Model, carUpdateDto.Photo, ImageType.Post);
Image image = new(imageUpload.FullName, carUpdateDto.Photo.ContentType, userName);
await unitOfWork.GetRepository<Image>().AddAsync(image);
car.ImageId = image.Id;
}
var result = mapper.Map(carUpdateDto,car);
car.UpdatedDate= DateTime.Now;
car.UpdatedBy =userName;
await unitOfWork.GetRepository<Car>().UpdateAsync(car);
await unitOfWork.SaveAsync();
}