Entity Framework - Görünümler

Görünüm, önceden tanımlanmış bir sorgu ile elde edilen verileri içeren bir nesnedir. Görünüm, sonuç kümesi bir sorgudan türetilen sanal bir nesne veya tablodur. Gerçek bir tabloya çok benzer çünkü sütunlar ve veri satırları içerir. Aşağıda görünümlerin bazı tipik kullanımları verilmiştir -

  • Temel tabloların verilerini filtrele
  • Verileri güvenlik amacıyla filtreleyin
  • Birkaç sunucuya dağıtılan verileri merkezileştirin
  • Yeniden kullanılabilir bir veri kümesi oluşturun

Görünümler, tablolar gibi benzer şekilde kullanılabilir. Görünümü bir varlık olarak kullanmak için, önce EDM'ye veritabanı görünümleri eklemeniz gerekir. Modelinize görünümler ekledikten sonra, Oluşturma, Güncelleme ve Silme işlemleri dışında normal varlıklarla aynı şekilde çalışabilirsiniz.

Veritabanından modele görünümlerin nasıl ekleneceğine bir göz atalım.

Step 1 - Yeni bir Konsol Uygulaması projesi oluşturun.

Step 2 - Çözüm gezgininde projeye sağ tıklayın ve Ekle → Yeni Öğe'yi seçin.

Step 3 - Orta bölmeden ADO.NET Varlık Veri Modeli'ni seçin ve Ad alanına ViewModel adını girin.

Step 4 - Varlık Veri Modeli Sihirbazı iletişim kutusunu başlatan Ekle düğmesine tıklayın.

Step 5 - Veritabanından EF Designer'ı seçin ve İleri düğmesine tıklayın.

Step 6 - Mevcut veritabanını seçin ve İleri'ye tıklayın.

Step 7 - Entity Framework 6.x'i seçin ve İleri'ye tıklayın.

Step 8 - Veritabanınızdan tabloları ve görünümleri seçin ve Bitir'i tıklayın.

Tasarımcı penceresinde bir görünümün oluşturulduğunu görebilir ve bunu programda bir varlık olarak kullanabilirsiniz.

Çözüm gezgininde, MyView sınıfının da veritabanından oluşturulduğunu görebilirsiniz.

Tüm verilerin görünümden alındığı bir örnek alalım. Kod aşağıdadır -

class Program {

   static void Main(string[] args) {

      using (var db = new UniContextEntities()) {

         var query = from b in db.MyViews
            orderby b.FirstMidName select b;

         Console.WriteLine("All student in the database:");

         foreach (var item in query) {
            Console.WriteLine(item.FirstMidName + " " + item.LastName);
         }

         Console.WriteLine("Press any key to exit...");
         Console.ReadKey();
      }
   }
}

Yukarıdaki kod çalıştırıldığında, aşağıdaki çıktıyı alacaksınız -

All student in the database:
Ali Khan
Arturo   finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...

Daha iyi anlamak için yukarıdaki örneği adım adım uygulamanızı öneririz.