Skip to content

Custom Model Kullanımı

ibanez75612 edited this page Apr 9, 2019 · 8 revisions

Custom Model Nedir?

Custom Model Generic Collection gibi çalışan aynı zamanda içerisinde istediğimiz farklı türden değişkenleri içerisine koyabildiğimiz bir yapıdır.

Custom Model Nerelerde Kullanılır?

Custom Model genel olarak modeldan View'a birden fazla tablo olan içeriği Controller da çekip View'a tek bir şekilde Model yoluyla kullanmak için kullanılır. Viewbag büyük verilerde yüksek performanslı çalışmayacağı için Custom Model yöntemine yöneliriz.

Genel olarak bakarsak Custom Model ile hayal gücü ve beynimizin yettiği yere kadar değişik yöntemler de kullanabiliriz.

Daha Önceki Konular Hakkında

Daha önceki konularda EntityFramework Modeli oluştururken tabloya göre tipler belirlemişti bizde aynısını kendi kafamıza göre yapacağız.

Örnek) AppUser Adında Bir Model Oluşturun Ve İçerisine Gerekli Propertyleri Ekleyin

Nasıl Custom Model Oluşturulur?

Projemizde Models klasöründe sağ tıklayıp =>Add =>Class..'a tıklıyoruz.

Class'ı seçip isim veriyoruz ben AppUserModel adında bir Class oluşturdum. Siz istediğiniz isimi verebilirsiniz genel olarak Custom Model yazarsak adının sonuna Model ekleriz ki bir daha kullandığımızda anlamamız için önemli.

Oluşturuduğumuz Class'a Property ekleyip olayı bitireceğiz.

prop tab tab yazarak direkt bizde default bir Property oluşturmuş oldu. Bizde kendimize göre değiştirmiş oluyoruz.

Home Controller oluşturdum ve oluşturduğum modeli çağırıp instance alacağım ancak alırken hata verdi çünkü sınıfı bulamadı alt + enter yaptıktan sonra ekran böyle çıktı bu Model klasöründen geliyor dedi bende tamam dedim ve artık instance alabileceğim bir hale gelmiş oldu. Ve en üstte using kısmına using MvcOrnek11CustomModelKonusu.Models; eklenmiş oldu.

Instance Alıp Kullanalım

Gördüğünüz gibi sanki EntityFramework de nasıl instance alıp veri ekliyorsak burada da her şey aynı.

List Alıp Yukarıdaki Modeli İçerisine Ekleyelim.

List oluşturup tipini AppUserModel den aldım. Ve AppUserModel tipinde listeoluşturmuş oldum.

Örnek 2 Model İle Birden Fazla Tabloyu Tek Seferde Sayfada Listelemek

Northwind database'ini EntityFramework Olarak Ekliyoruz

Custom Model

GetManyTableModel adında bir class Oluşturuyoruz içerisinde Property olarak çekmek istediğim tabloların ismini list olarak yazdım.

Action

Daha sonra GetAll adında bir action oluşturdum ve database'imi Default Constructor ile instance'ını almış oldum

Daha sonra oluşturduğum GetManyTableModel'in instance'ını aldım ve database'den gelen sorguları içerisine atıp Model olarak View'a gönderdim.

View

Viewda Modeli çağırırken Model klasörün içinde olduğundan ProjeAdı.Model.ModelAdı şeklinde ilerlemeliyiz... Oluşturduğumuz modeli çağırmış olduk.

Daha sonra Modele attığımız verileri dönerek foreach ile bir html tablo oluşturup içine basıyoruz 3 tablo eklediğim için hepsini ayrı ayrı foreachler ile yazıyorum.

Görünümü

Gördüğünüz gibi foreachler ile dönerek 1 Model de 3 tablo getirerek ekrana bastık ve böylece bu konuyu tamamlamış olduk sadece bu örnekler ile değil de bu konu ile ilgili bir sürü çeşit çeşit örnek yapılabilir. Ben temel olarak anlatmaya çalıştım.

Yazının Projesi

MvcOrnek11CustomModelKonusu