You are currently viewing ASP.NET Core Razor Pages kullanarak veritabanından veri silmek

ASP.NET Core Razor Pages kullanarak veritabanından veri silmek

  • Post author:
  • Post category:MVC
  • Post comments:0 Yorum
Spread the love

Merhaba,

ASP.NET Core Razor Pages kullanarak veritabanından veri silmek için aşağıdaki adımları izleyebilirsiniz:

  1. 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.
  2. Veritabanı bağlantısını appsettings.json dosyanızda ayarlayın.
  3. 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.

Bir yanıt yazın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.