在 Blazor 中使用 EF Core 更新具有多个联接表的表格,需要按照以下步骤操作:
Startup.cs
中启用 EF Core 并添加所需数据库上下文,例如:services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int ClassId { get; set; }
public Class Class { get; set; }
public int DepartmentId { get; set; }
public Department Department { get; set; }
}
public class Class
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Department
{
public int Id { get; set; }
public string Name { get; set; }
}
public DbSet Students { get; set; }
public DbSet Classes { get; set; }
public DbSet Departments { get; set; }
public class EditStudentViewModel
{
private readonly MyDbContext _context;
public EditStudentViewModel(MyDbContext context)
{
_context = context;
}
public Student Student { get; private set; }
public List Classes { get; private set; }
public List Departments { get; private set; }
public async Task LoadAsync(int id)
{
Student = await _context.Students.FindAsync(id);
Classes = await _context.Classes.ToListAsync();
Departments = await _context.Departments.ToListAsync();
}
public async Task SaveAsync()
{
await _context.SaveChangesAsync();
}
}
@page "/edit-student/{id}"
@inject MyDbContext Context
Edit Student