и поскольку я обновляюсь до ядра 2.2, у меня возникает следующая проблема:
, когда я хочу отредактировать модель, в которой есть родительский класс, например, свойство в здании (башне), которое я передаю в представление редактирования (бритва) объект свойства с информацией родителя (башни), чтобы я мог показать информацию о башне, НО, когда человек нажимает сохранить и данные передаются в контроллер, объект башни имеет пустые / нулевые значения, как вы можете видеть визображение ниже
Это нарушает ModelState.IsValid для формы, этот запуск происходит после того, как я обновляю ядро с 2.0 до 2.2, до того, как объект башни станет нулевым и тамне было никаких проблем. пожалуйста, помогите
здесь моя сущность
public class Property
{
public string Name { get; set; }
public string Floor { get; set; }
public string Description { get; set; }
public int? Rooms { get; set; }
public int? Baths { get; set; }
public double? Size { get; set; }
public bool isRent { get; set; }
public double? Portion { get; set; }
public string OwnerName { get; set; }
public string Building { get; set; }
public string OwnerPhone { get; set; }
public string OwnerEmail { get; set; }
public virtual User User { get; set; } = null;
public int UserID { get; set; }
public virtual Tower Tower { get; set; } = null;
public int TowerID { get; set; }
}
и здесь мои методы контроллера
[BreadCrumb(Title = "Editar", Order = 1)]
public async Task<IActionResult> Edit(int id)
{
var property = _propertyBL.GetById(id,User);
if (property == null)
{
return View("~/Views/Home/NotFound.cshtml");
}
PopulateDropDowns(property.UserID, property.TowerID);
return View(property);
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(Property value)
{
if (ModelState.IsValid)
{
_propertyBL.Update(value);
return RedirectToAction(nameof(Index));
}
value.Tower = _towerBL.GetById(value.TowerID);
value.User = _userBL.GetById(value.TowerID);
PopulateDropDowns(value.UserID, value.TowerID);
return View(value);
}
ПРИМЕЧАНИЕ: в редактировании все включает вызов и представление показывают данныепри его отправке обратно на контроллер данные теряются