Bu konuyu okuyanlar

Samet UCA

Profesör
Katılım
3 Ağustos 2012
Mesajlar
3,278
Reaksiyon puanı
2,914
Puanları
113
Entity Framework ORM aracı ile veritabanımızda bulunan bazı kayıtları uygulamamızda listeleyeceğiz.

İlk olarak bilgisayarınızda SQL SERVER ve bu yönetmek için Management Studio uygulamasının yüklü olduğunu varsayıyorum. Eğer yüklü değil ise kurulumlarını şu adreslerden yapabilirsiniz.

SQL SERVER Express Edition
SQL Server İndirmeleri | Microsoft

SQL SERVER Management Studio
Download SQL Server Management Studio (SSMS)

İlk olarak Management Studio üzerinden bir “Kütüphane” adında bir veritabanı ve içerisine “Kitap” adında bir tablo oluşturacağız.

Hemen sonrasında tablomuzun ilgili sütunlarına bir kaç bilgi girelim.

1542290182146.png

1542290218189.png

1542290222726.png


Bu işlemlerden sonra Local sunucumuzun ismi lazım olacağından görselde ki bölümde yazan adresi bir yere kaydedin.

1542290245456.png


Şimdi sıra geldi Visual Studio tarafında bazı işlemlere.
Visual Studioda yeni bir “ASP.NET Web Uygulaması” oluşturuyoruz.

1542290251960.png


Tamam ile devam ediyoruz.
Sıradan bir uygulama geliştireceğimiz için hazır gelen bazı özelliklere ihtiyacımız yok. Dolasıyla boş bir MVC projesi işimizi görecektir. MVC seçeneğini işaretlemeyi unutmayın.

1542290260958.png


Bu işlemden sonra klasörlerimiz solution explorer kısmını geldi.
İlk olarak Controller klasörü altında yeni bir control ekleyeceğiz.

1542290288161.png


1542290298022.png

1542290304751.png


Bu işlemden hemen sonra Models klasörü üzerine sağ tıklayın ve yeni bir klasör oluşturun. Klasörün ismi “EntityFramework” olabilir.
Oluşturulan yeni klasörüde sağ tıklayın ve Yeni Öğe Ekle ile devam edin. Açılan pencerede aşağıdaki görselde ki gibi Data seçenekleri altında “ADO.NET Entity Data Model” aracını ismini belirleyerek ekleyin.

1542290311557.png


Veritabanı işlemlerinde kullanılabilicek bir çok teknik var. Bunların en yaygını Code First tekniğidir. Ancak biz mevcut bir veritabanı üzerinden işlem yapacağımız için bu tip tekniklere şuan ihtiyaç duymuyoruz. Bu sebep ile “EF Designer from database” özelliğini seçiyor ve devam ediyoruz.



Yeni bir pencere ile karşılaştık. Burada bizden veritabanının nerede olduğunu göstermemiz isteniyor.
“New Connection” tuşunu tıklıyoruz.



Bir sonra ki ekranda yolu göstermemiz istenecek. Yazının başında belirttiğim ve bir yere not almanızı istediğim local adresimizi buraya yazıyoruz.
Hemen altından veritabanımızı seçiyoruz ve devam ediyoruz.



Bağlantı stringimiz ile ilgili bilgi veriliyor. Devam ediyoruz.



Versiyonumuzu 6.x olarak seçiyoruz ve devam ediyoruz.



Burada hangi tabloları projeye dahil edeceğimizi soruyor. Ben kitap isimli bir tablo oluşturmuştum. Sizde oluşturduğunuz tablonun seçili olduğuna dikkat ederek “Son” tuşu ile bu işlemi bitirin.



İşlemlerimizi bitirdikten sonra veritabanına ve ilgili tabloya bağlantımızı gösteren bir diagram ile karşılaşacağız.



Şimdi Controller klasörü altında oluşturduğumuz HomeController.cs dosyasını sağ tıklayın.
Açılan kod ekranında Index yazısı üzerine gelip sağ tıklayın ve Görünüm Ekle seçeneğini seçin



Bir layout page kullanmayacağımız için seçenekleri pasif hale getirip devam edin.



Şimdi aşağıdaki gibi bir sayfa ile karşılaştık.

HTML:
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
    </div>
</body>
</html>

Şimdi HomeController.cs dosyasına geri dönüyoruz.
Açıklamaları kod içerisinde verdim.

C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace SKutuphaneMVC.Controllers
{
    public class HomeController : Controller
    {
        SKutuphaneMVC.Models.EntityFramework.KutuphaneEntities db = new Models.EntityFramework.KutuphaneEntities();
        // db adında yeni bir isim türettik.

        public ActionResult Index()
        {
            // model isimli bir değişken denklare ettik. db ismi altında kitap tablosunu liste halinde aktardık.
            var model = db.Kitap.ToList();
            return View(model);
        }
    }
}

İndex.cshtml dosyamıza geri dönüyoruz. Artık tablomuzda ki bilgileri liste halinde gösterelim.

@using – Bu sayfada bir entity aracı kullanacağımızı belirttik.
@model – Burada bir model gelecek. Bu modelin bir liste halinde geleceğini ve <Kitap> olduğunu belirttik.
Şimdi body kısmını düzenleyelim.
İlk olarak bir tablo oluşturalım ve bu tablonun ilgili sutunlarına veriyi çekelim.
Daha sonra @foreach ile data içerisinde dönüp topladığımız bilgileri satırlara yerleştirelim.
Kodlar şu şekilde olabilir.

HTML:
@using SKutuphaneMVC.Models.EntityFramework
@model List<Kitap>
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <table>
        <thead> 
            <tr>
                <td>ID</td>
                <td>Kitap Adi</td>
                <td>Türü</td>
                <td>Yayinci</td>
            </tr>
        </thead>
        <tbody>
            @foreach (var data in Model)
            {
                <tr>
                    <td>@data.ID</td>
                    <td>@data.Adi</td>
                    <td>@data.Türü</td>
                    <td>@data.Yayıncı</td>
                </tr>
            }

        </tbody>
    </table>

</body>
</html>

Ekran çıktımız şu şekilde olacaktır. Bootstrap kullanarak daha görsel anlamda iyileştirilebilir. Ancak ben konuyu daha karışık hale sokmamak ve uzatmamak için bootstrap tarafına değinmedim.



Alıntı değildir. Tarafımca hazırlanmıştır. Kolay gelsin.
 
Son düzenleme:

ertan2002

Asistan
Katılım
9 Aralık 2008
Mesajlar
346
Reaksiyon puanı
112
Puanları
43
baslangic asamasi icin güzel. Eline saglik
 
Üst