Code First ile Veritabanına Fotoğraf Gönderme
Code First yaklaşımı, Entity Framework’te bir veritabanı şemasını koddan oluşturmanıza olanak tanır. Bu yaklaşım, veritabanı şemasını manuel olarak oluşturma ihtiyacını ortadan kaldırarak geliştirme sürecini hızlandırır. Code First ayrıca, veritabanına fotoğraf gibi ikili verileri göndermenize de olanak tanır.
İkili Veri Türleri
Veritabanlarında ikili veri türleri, metin veya sayısal veriler gibi yapılandırılmış verilerin aksine, ham bayt dizilerini saklar. Fotoğraflar, videolar ve belgeler gibi dosyalar genellikle ikili veri türlerinde saklanır.
Entity Framework’te, ikili veriler byte[]
veri türü kullanılarak temsil edilir. Bu veri türü, değişken uzunlukta bir bayt dizisi saklayabilir.
Fotoğrafları Veritabanına Gönderme
Code First kullanarak fotoğrafları veritabanına göndermek için aşağıdaki adımları izleyin:
- Model Sınıfı Oluşturma: Fotoğrafları temsil edecek bir model sınıfı oluşturun. Bu sınıf,
byte[]
veri türünde bir özellik içermelidir. - Veritabanı Bağlamı Oluşturma: Veritabanı bağlamı, Entity Framework’ün veritabanıyla etkileşime girmenizi sağlayan bir sınıftır. Bağlam sınıfı, fotoğraf model sınıfını içermelidir.
- Veritabanı Şemasını Oluşturma: Veritabanı şemasını oluşturmak için
Add-Migration
komutunu çalıştırın. Bu komut, veritabanı şemasında fotoğraflar için bir tablo oluşturacaktır. - Fotoğrafları Veritabanına Ekleme: Fotoğrafları veritabanına eklemek için
Add
yöntemini kullanın. Bu yöntem, fotoğrafın ikili verilerinibyte[]
özelliğine atamanızı gerektirir. - Değişiklikleri Kaydetme: Değişiklikleri veritabanına kaydetmek için
SaveChanges
yöntemini kullanın.
Örnek Kod
Aşağıdaki kod örneği, Code First kullanarak fotoğrafları veritabanına göndermeyi göstermektedir:
“`csharp
public class Photo
{
public int Id { get; set; }
public string Name { get; set; }
public byte[] Data { get; set; }
}
public class MyContext : DbContext
{
public DbSet
}
public class Program
{
public static void Main(string[] args)
{
using (var context = new MyContext())
{
var photo = new Photo
{
Name = “MyPhoto.jpg”,
Data = File.ReadAllBytes(“MyPhoto.jpg”)
};
context.Photos.Add(photo);
context.SaveChanges();
}
}
}
“`
Faydalı Siteler ve Dosyalar
- Entity Framework İkili Veri Türleri
- Code First ile Veritabanına Fotoğraf Gönderme
- Entity Framework İkili Veri Örnekleri