01.public class Category
02.{
03.    public int Id { get; set; }
04.    public string Name { get; set; }
05.
06.    // Bir Category nesnesine ait birden fazla Entry olabilir.
07.    // ICollection bize List tipinde bir yapı kullanma olanağı sağlar
08.    public ICollection<Entry> Entry { get; set; }
09.}
10.
11.public class Entry
12.{
13.    public int Id { get; set; }
14.    public string Title { get; set; }
15.    public string Content { get; set; }
16.
17.    // Bir Entry sadece bir Category nesnsine aittir
18.    public Category Category { get; set; }
19.}
İkinci olarak; yazdığımız koda göre veri tabanı üzerinde modellemeyi gerçekleştirecek bir sınıfa ihtiyacımız var. Bu sınıf genelde Context son ekiyle tamamlanarak isimlendirilir. Bunun nedeni EntityFramework'un DbContext sınıfından türetiliyor olmasıdır. Ben de bu sınıfa BlogContext ismini verip, root dizinde oluşturduğum bir DAL klasörünün içinde yaratacağım.
 
 
 
Code First MVC uygulamayı Azure'da Host Etmek (#1)

01.public class BlogContext : DbContext
02.{
03.    public DbSet<Entry> Entries{ get; set; }
04.    public DbSet<Category> Categories { get; set; }
05.
06.    /*
07.     * Yazdığımız koda göre model oluşurken çağrılacak method
08.     * Bu method içinde tabloların ya da kolonların isimlerine müdahale edebiliriz
09.     * Ben sadece tablo isimlerinin çoğul -s takısıyla oluşmaması için müdahalede bulunacağım
10.     */
11.    protected override void OnModelCreating(DbModelBuilder modelBuilder)
12.    {
13.        // Tablo isimlerinin sonuna -s eklenmesini engeller
14.        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
15.    }
16.}
Sıra geldi veri tabanı erişimi için Web.config dosyasında gerekli düzenlemelere. Bu dosyaya bir connectionString eklememiz gerekiyor. Code First yazdığımız için ekleyeceğimiz ConnectionString'in name özelliğinin daha önce oluşturduğumuz context ismi ile aynı olması gerekiyor. (Aynı yapmazsanız farklı ayarlarla da senkronizasyonu sağlayabilirsiniz. Biz aynı yaparak devam edeceğiz.)

Windows Azure için gerekli connection string şuna benzer;
1.<add name="BlogContext"
2.         providerName="System.Data.SqlClient"
3.         connectionString="server=SERVERNAME.database.windows.net; Initial Catalog=DbName; User ID=DbUser;
4.Password=DbUserPassword; Encrypt=true; Trusted_Connection=false;" />


  • Burada name'e BlogContext değerini vermemizin nedeni yukarıda yazdığım gibi oluşturduğumuz context dosyasıyla aynı isimde olmasının işleri kolaylaştırması.
  • Server değerini girmek için bulutta oluşturduğunuz veri tabanının bulunduğu servera database.windows.net eklemeniz gerekiyor.
  • Initial Catalog için Azure hesabınızda yarattığınız veri tabanı ismini yazmanız gerekmekte.
  • User ID ve Password bilgileri ise bu veri tabanına ait kullanıcı ve şifre bilgileri olacak.
Çalışmamızı Publish etmeden önce son bir adımımız kaldı, projeye bir açılış sayfası eklemek;
Bunun için Controller klasöründe HomeController'ı oluşturup otomatik yaratılan Index method'un dönüş tipini String olark değiştirip methodun return'unde kullanıcıya bir "Hoş geldin" mesajı gösteriyorum. (Dönüş tipini String yapmak beni View oluşturmaktan kurtaracak.)

01.public class HomeController : Controller
02.{
03.    // GET: Home
04.    public String Index()
05.    {
06.        BlogContext context = new BlogContext();
07.        // DB operasyonunun gerçekleşmesini sağlamak için
08.        context.Entries.ToList();
09.        return "Hayırlı olsun";
10.    }
11.}
 
 
 
 
 
 
 
 
 

Okul Zil Programı

yilsoftzil

9786059223690
logo5

Esma-ül Hüsna

Ziyaretçi İstatistikleri

Bugün134
Dün256
Bu hafta134
Bu ay5845
Hepsi771246