Merhaba,
ASP.NET Core Razor Pages kullanarak veritabanından veri silmek için aşağıdaki adımları izleyebilirsiniz:
- Entity Framework Core’u projenize yükleyin. Bunun için, Package Manager Console’u açın ve
Microsoft.EntityFrameworkCore.SqlServer
veya başka bir veritabanı sağlayıcısı için uygun paketi yükleyin. - Veritabanı bağlantısını appsettings.json dosyanızda ayarlayın.
- Razor Pages modelinizi oluşturun. Bunun için, bir sınıf oluşturun ve tüm öğeleri içeren bir DbSet özelliği oluşturun.
public class MyAppDbContext : DbContext
{
public MyAppDbContext(DbContextOptions<MyAppDbContext> options)
: base(options)
{
}
public DbSet<MyModel> MyModels { get; set; }
}
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
}
Razor Pages'da bir "Delete" sayfası oluşturun. Bu sayfada, silinecek öğe hakkında bilgi almak için bir form kullanabilirsiniz.
<form method="post">
<div class="form-group">
<label for="id">Id:</label>
<input type="text" class="form-control" id="id" name="id">
</div>
<button type="submit" class="btn btn-danger">Delete</button>
</form>
Razor Pages'da bir "OnPost" yöntemi oluşturun. Bu yöntem, veritabanından öğeyi siler.
public class DeleteModel : PageModel
{
private readonly MyAppDbContext _context;
public DeleteModel(MyAppDbContext context)
{
_context = context;
}
public void OnGet()
{
}
public async Task<IActionResult> OnPostAsync(int id)
{
var item = await _context.MyModels.FindAsync(id);
if (item == null)
{
return NotFound();
}
_context.MyModels.Remove(item);
await _context.SaveChangesAsync();
return RedirectToPage("./Index");
}
}
Bu kadar! Şimdi veritabanından bir öğe silebilirsiniz.
Not: Yukarıdaki kod örnekleri varsayılan olarak MySql veritabanı için yazılmıştır. Kodu kullanmadan önce gerektiği gibi değiştirebilirsiniz.