ÇözümPark'a hoş geldiniz. Oturum Aç | Üye Ol
 
Ana Sayfa Makale Video Forum Resimler Dosyalar Etkinlik Hizmetlerimiz Biz Kimiz

Yazılım

Microsoft Visual Studio Lightswitch Tablo (Entity) İlişkileri – Bölüm 3

Daha önceki makalemizde Lightswitch ile veri işlemlerinin nasıl yapılacağını temel olarak anlatmaya çalıştık. Makaleye bu adresten ulaşabilirsiniz. Microsoft Lightswitch ile Veri İşlemleri.

 

Bir uygulama kapsamında oluşturulacak veri tabanının tek bir tablo ile sınırlandırılması düşünülemez. Verilerin paylaştırılması, gerekli verilerin tablolar halinde sunulması hem verilere ulaşmada hem de verilerin tekrar edilmesi konusunda programcılara rahatlıklar sağlamaktadır.

 

Düzgün tasarlanmış bir veri tabanı;

 

Veri tekrarını en aza indirir.

Oluşturulan raporların eksiksiz ve sorunsuz olarak çalışmasını sağlar.

 

Visual Studio Lightswitch bize tablolarımızı oluşturmak için bir Data Designer aracı sunmaktadır. Bu konuda daha önceki makalelerimizde bir anlatım yapmaya çalışmıştık. Yine Data Designer aracı ile tablolarımızı oluşturup bu tablolar arasında ilişkilerimiz tanımlayabilmekteyiz.

 

Şimdi bu ilişki tiplerini ve bu ilişkilerin Microsoft Lightswitch ile nasıl uygulanacağına bakalım. Bir önceki makalemizde başlamış olduğumuz Müşteri Takip uygulamamız üzerinden işlemlerimize devam edebiliriz.

 

En son uygulamamız için Musteri adında bir entity oluşturmuş ve bunun için bir veri giriş ekranı eklemiştik. Şimdi bu entity tasarımını biraz daha çeşitlendirme ve ilişkileri tanımlama zamanı.

 

 

image001

 

 

Oluşturduğumuz Musteri tablosu üzerinde görüldüğü üzere her müşteri tanımında doldurulması gereken verilerin bulunması söz konusudur. Eğer bir müşterinin birden fazla adresini kayıt altına almak istersek böyle bir tablo üzerinde ikinci bir müşteri olarak tanımlamasını yapmamız gerekecektir. Bu şekilde bir çalışma hem verilerimizin tekrarını hem de raporlarımızın yanlış sonuçlar döndürmesine sebep olacaktır. (2 Adresi olan 2 Müşteri gibi)

 

Bu durumun çözümü için yapılması gereken bir Adres tablosu oluşturmak ve bu tablo üzerinde müşteri tablosu arasında Birden Çoğa İlişki oluşturmaktır. Yani bir müşterinin birden fazla adres bilgisinin olmasını sağlamaktır. Bunun için ilk önce adres tablomuzu oluşturmamız gerekmektedir.

 

Solution Explorer üzerinden Data Sources altında bulunan ApplicationData nesnesinde Add Table komutu ile yeni tablo oluşturma işlemlerine başlayabiliriz.

 

 

image002

 

 

Temel olarak tablomuzu aşağıdaki şekilde oluşturabiliriz.

 

 

image003

 

 

Burada ki problemimiz Musteri tablosu ile birlikte AdresBilgileri tablosunun bir ilişki içinde olmamasıdır. Bu ilişkiyi tanımlamak için yine Data Designer aracından yararlanacağız. Tablolar arası ilişkiler yine Data Designer’ın üst bölümünde bulunan Relationship üzerinden yapılmaktadır. Relationship ile birlikte bize yeni ilişki tanımlama sayfası açılacaktır.

 

 

image004

 

 

image005

 

 

Bu pencere üzerinde yapmamız gereken ilk iş ilişki tipi ayarlamak için tablo bilgileri seçmektir. From mevcut tablomuzu temsil ederken To kısmında hangi tablo ile ilişki kurmak istediğimizi belirteceğiz.

Ardından Multiplicity bölümünden ilişki tipini belirtmemiz gerekmektedir. On Delete Behavior bölümünden silme işlemi durumunda bu ilişkinin nasıl davranması gerektiği belirtilebilmektedir.

 

 

image006

 

 

İlişki penceresi onaylandığı zaman Data Designer üzerinden ilişkinin durumu görülebilmektedir.

 

 

image007

 

 

Müşteriler için adreslerin ilişkili tablo olarak kayıt altına alınması işlemini yerine getirmiş bulunmaktayız. Yine aynı şekilde Telefon bilgileri için bir çalışma yaparak müşteri telefonlarının birden fazla olması durumunu ayarlayalım.

 

İlk önce müşterilerin telefon numaralarını kayıt altında tutmak için entity bilgimizi oluşturalım. Bu entity üzerinde TelefonTanimi isimli alan için bir seçim listesi oluşturarak gerekli bilgileri girmemiz gerekmektedir. Bu seçimli liste ile kullanıcılar telefon numaralarının girişlerini yaparken numarasının tanım bilgisini bir combobox aracılığı ile gireceklerdir.

 

 

image008

 

 

Entity bilgisinin tanımlanmasından sonra tablo ilişkilerinin ayarlanması gerekmektedir. Bu ayarlama bir müşteri bilgisine karşılık birden fazla telefon bilgisi yani birden çoğa ilişki tanımı içermelidir.

 

 

image009

 

 

İlişki tanımımız tamamlandığı zaman oluşacak Data Designer tasarımı aşağıdaki şekilde olacaktır.

 

 

image010

 

 

Şimdi bu ilişki yöntemlerinden yararlanarak ekran tasarımımızı yapabiliriz.

 

Bunun için Solution Explorer bölümünde bulunan Screens bölümünde Add Table ile ekran ekleme penceresini açabiliriz.

 

 

image011

 

 

Açılan sayfa üzerinde kullanmak istediğimiz ekran bilgisini, kullanmak istediğimiz entity bilgisini ve ekranın ismini tanımlayarak ekranımızı uygulamamız içerisinde oluşturmamız gerekmektedir.

 

Bu bölümde dikkat etmemiz gereken ekran olarak List and Details Screen seçtiğimiz de içerik olarak hangi tabloların da (ilişkili olan) ekran üzerinde görünmesini istediğimizi seçebiliriz.

 

 

image012

 

 

Ekranımızı uygulamamıza ekledikten sonra çalıştırdığımız sol menü üzerinde ekranımızın bilgisinin geldiğini görebiliriz. Ekranımızı çalıştırdığımız zaman Müşteri bilgilerine ve müşteri tablosu ile ilişkili diğer tablo bilgilerine tek bir ekran üzerinden ulaşabileceğiz.

 

 

image013

 

 

Ekrandan da görüldüğü gibi ilişkili tablolarımız bir tab sayfası olarak sağ alt bölümde oluşmaktadır. Adres ve Telefon bilgileri girildiği zaman sol tarafta seçili olan müşteri ile ilişkili olarak bu verile tutulacak ve gerekli durumlarda sorgulama işlemlerinde kullanılabilecektir.

 

Bir Başka Lightswitch makalesinde görüşmek üzere.

Yorumlar

 

Hakan UZUNER

Elinize sağlık.

Ocak 29, 2012 21:19
 

Murat ALTINTAŞ

Eline Sağlık Güzel Anlatım

Mayıs 20, 2015 14:20
Kimliksiz yorumlar seçilemez kılınmış durumdadır.

Yazar: onurkarakus

1979 Kocaeli doğumlu olan Onur KARAKUŞ. Tüm öğrenim hayatını Kocaeli'de geçirmiştir. Sakarya Üniversitei Bilgisayar Programcılığı bölümü mezunudur. Çeşitli IT firmalarında çalışmış olan Onur KARAKUŞ. En son İzgaz AŞ firmasında yazılım geliştirme projelerinde çalışmıştır. Şu an Enon Bilişim Teknolojileri firmasının kurucu ortağı olarak iş hayatına devam etmektedir.
 

Bu Kategori

Hızlı aktarma