ASP.NET Core Nedir?
Klasik ASP.NET ile ASP.NET Core arasındaki farklar, aslında birçok geliştiricinin tercihini ASP.NET Core’dan yana yapmasına neden oldu. ASP.NET Core, daha hafif, hızlı ve modern bir yapı sunuyor. Dahası, bulut ortamlarında, mikro servis mimarisinde ve API’ler ile etkileşimde son derece verimli.
ASP.NET Core ile İlk Adım: Yeni Bir Proje Oluşturmak
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
Projeye Veritabanı Bağlantısı Ekleme
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
Ardından, veritabanı bağlamını (DbContext) oluşturun ve gerekli ayarlamaları yapın.
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions options)
: base(options)
{ }
public DbSet Products { get; set; }
}
Bağlantı dizelerini (connection strings) ve gerekli bağımlılıkları appsettings.json dosyasına eklemeyi unutmayın.
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
CRUD İşlemleri Yapmak
public class ProductsController : Controller
{
private readonly ApplicationDbContext _context;
public ProductsController(ApplicationDbContext context)
{
_context = context;
}
public async Task Index()
{
return View(await _context.Products.ToListAsync());
}
public IActionResult Create()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task Create([Bind("Id,Name,Price")] Product product)
{
if (ModelState.IsValid)
{
_context.Add(product);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(product);
}
}
Burada gördüğünüz gibi, EF Core ile birlikte işlem yapmak gerçekten çok basit. Veritabanı işlemleri otomatik olarak gerçekleştiriliyor ve geliştiriciye büyük bir kolaylık sağlıyor.
Uygulamanızı Yayına Almak
Yayımlama işlemi genellikle şu adımları içerir:
1. Yayına almadan önce uygulamanızın test edilmesi,
2. Yayın ortamında doğru bağlantı dizesinin kullanılması,
3. Gereksiz dosyaların ve veritabanlarının silinmesi,
4. Uygulama güvenliğinin sağlanması.