Code First Ile Veritabanına Fotoğraf Gönderme

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:

  1. 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.
  2. 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.
  3. 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.
  4. Fotoğrafları Veritabanına Ekleme: Fotoğrafları veritabanına eklemek için Add yöntemini kullanın. Bu yöntem, fotoğrafın ikili verilerini byte[] özelliğine atamanızı gerektirir.
  5. 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 Photos { get; set; }
}

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


Yayımlandı

kategorisi