Я обновляю существующие данные в базе данных.По сути, я извлекаю все данные из таблицы и обновляю каждый столбец вручную.Как вы думаете, это хороший способ?Или, пожалуйста, предложите мне другой короткий способ сделать то же самое.Мой метод выглядит так долго, я имею в виду много строк для обновления.
[HttpPost]
public ActionResult SaveMovie(HttpPostedFileBase file, MovieViewModel model)
{
if (!ModelState.IsValid)
{
var viewModel = new MovieViewModel
{
ProHouses = _context.ProHouses.ToList()
};
return View("AddMovie", viewModel);
}
if (model.Movies.Id == 0)
{
if (file != null)
{
Guid RandomName = Guid.NewGuid();
var fileExtention = Path.GetExtension(file.FileName);
var FileName = RandomName + fileExtention;
var path = Path.Combine(Server.MapPath("~/MovieTitle"), RandomName + fileExtention);
file.SaveAs(path);
model.Movies.TitleURL = FileName;
}
_context.Movies.Add(model.Movies);
}
else
{
var movieInTable = _context.Movies.SingleOrDefault(m => m.Id == model.Movies.Id);
movieInTable.Budget = model.Movies.Budget;
movieInTable.Writer = model.Movies.Writer;
movieInTable.Country = model.Movies.Country;
movieInTable.Genre = model.Movies.Genre;
movieInTable.Duration = model.Movies.Duration;
movieInTable.Plot = model.Movies.Plot;
movieInTable.Name = model.Movies.Name;
movieInTable.ProHouseId = model.Movies.ProHouseId;
movieInTable.Rating = model.Movies.Rating;
movieInTable.Director = model.Movies.Director;
movieInTable.Year = model.Movies.Year;
movieInTable.TitleURL = model.Movies.TitleURL;
}
_context.SaveChanges();
ViewBag.Message = "Movie Added";
return View("Confirmation");
}
Я запутался в этой части:
else
{
var movieInTable = _context.Movies.SingleOrDefault(m => m.Id == model.Movies.Id);
movieInTable.Budget = model.Movies.Budget;
movieInTable.Writer = model.Movies.Writer;
movieInTable.Country = model.Movies.Country;
movieInTable.Genre = model.Movies.Genre;
movieInTable.Duration = model.Movies.Duration;
movieInTable.Plot = model.Movies.Plot;
movieInTable.Name = model.Movies.Name;
movieInTable.ProHouseId = model.Movies.ProHouseId;
movieInTable.Rating = model.Movies.Rating;
movieInTable.Director = model.Movies.Director;
movieInTable.Year = model.Movies.Year;
movieInTable.TitleURL = model.Movies.TitleURL;
}