обновить значения в выбранных столбцах при использовании ядра EF - PullRequest
0 голосов
/ 03 мая 2020

Я новичок в ASP. NET core и EF Core. Мне нужна помощь, чтобы получить обновленные значения в выбранных столбцах при использовании ядра EF.

Мне нужно мое представление, чтобы предоставить Список студентов и дать возможность обновленной FeePaid только без предоставления возможности изменять остальные данные .Я пытался изменить «TryUpdateModelAsyn c», включив только плату «Оплачено», как показано ниже, но он обновляет остальные поля с нулевым значением. Я сейчас работаю на SQL сервере LocalDb в Visual Studio 2019, и код будет опубликован в Azure.

Спасибо за вашу помощь.

 TryUpdateModelAsync<Student>(
        studentToUpdate,
        "student",
        s=> s.FeePaid)

В SQL я могу написать запрос на обновление только выбранных столбцов с новыми значениями.

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;



public async Task<IActionResult> OnGetAsync(int? id)
{
    if (id == null)
    {
        return NotFound();
    }

    Student = await _context.Students.FindAsync(id);

    if (Student == null)
    {
        return NotFound();
    }
    return Page();
}

public async Task<IActionResult> OnPostAsync(int id)
{
    var studentToUpdate = await _context.Students.FindAsync(id);

    if (studentToUpdate == null)
    {
        return NotFound();
    }

    if (await TryUpdateModelAsync<Student>(
        studentToUpdate,
        "student",
        s => s.FirstMidName, s => s.LastName, s => s.EnrollmentDate, s=> s.Confirmed, s=> s.FeePaid))
    {
        await _context.SaveChangesAsync();
        return RedirectToPage("./Index");
    }

    return Page();
}
...