.NET Core ve EF Core ile MSSQL Bağlantısı Nasıl Yapılır?
ASP.NET Core uygulamasında Entity Framework Core kullanarak MSSQL bağlantısının nasıl kurulacağını anlatıyorum.
· 1 dk okuma

.NET projelerine veritabanı bağlamak ilk bakışta dağınık durur: paketler, context, connection string, DI kaydı. Bu not, ASP.NET Core + EF Core + SQL Server için çalışan minimum yolu anlatır.
Adımlar:
- Veritabanı oluşturma
- Gerekli paketleri ekleme
- Context dosyası
- Bağlantı dizesi
- Servis kaydı
1. Veritabanı oluşturma
SQL Server üzerinde (SSMS, Azure Data Studio vb.) projeniz için bir veritabanı açın:
CREATE DATABASE veriTabaniAdiniz;
2. Gerekli paketler
Entity Framework Core, nesnelerle veritabanı arasında ORM katmanıdır. CRUD için ham SQL yazmak zorunda kalmazsınız.
NuGet veya terminal:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.Tools
Preview sürümler yerine kararlı son sürümü seçin. Paket adında SqlServer yazımı önemlidir.
3. Context dosyası
Veritabanı işlemleri DbContext türevi bir sınıftan geçer. Projede Data/AppDbContext.cs:
using Microsoft.EntityFrameworkCore;
namespace ProjeAdi.Data
{
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
}
}
}
Namespace’i proje adına göre düzeltin. DbSet<> özelliklerini modelleriniz oluştukça ekleyeceksiniz.
4. Bağlantı dizesi
appsettings.json içine, kök nesneden hemen sonra:
"ConnectionStrings": {
"SqlCon": "Server=localhost;Database=VeriTabaniAdi;Integrated Security=false;Encrypt=false;TrustServerCertificate=true;User Id=sa;Password=YOUR_LOCAL_PASSWORD;"
}
Bu bir yerel örnek şablonudur. Gerçek parolayı repoya yazmayın; user-secrets veya ortam değişkeni kullanın. TrustServerCertificate ve Encrypt değerlerini ortamınıza göre ayarlayın.
5. Bağlantıyı yapılandırma
Program.cs içinde var builder = ... satırının altına:
builder.Services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("SqlCon")));
SqlCon ve AppDbContext isimleri sizin adlandırdığınızla aynı olmalı.
Sonuç
Paket → context → connection string → DI kaydı sırası oturunca EF Core üzerinden CRUD açılır. Sonraki adım entity’ler, migration (dotnet ef migrations add) ve EnsureCreated yerine kontrollü şema yönetimini tercih etmektir.