Yeni uygulamamızda 7.1 SDK nın getirdiği özelliği kullanarak Mango DB ile bir database oluşturup bu databasede ki verileri TSQL sorguları ile çekip Panorama Page de görüntüleyeceğiz,Bi r yapılacaklar listesi şeklinde olan bu uygulama için ilk olarak Projemizde References kısmına sağ tıkalayarak Add Reference menüsünden System.Data.Linq ‘i eklemeliyiz. Databasenin modelini oluşturmak için bir class oluşturalım:
Bu class da databasedki tablolar ve sutunları yer alacaktır 7.1 de database kod ile oluşturulur herhangi bir arayüz yoktur.
[linq.Mapping.Table(Name = "Tasks")] ile tablo tanımlayıp
private int Id_;
//property tanımlıyoruz her bir property bir sutuna denk gelir
[linq.Mapping.Column(IsDbGenerated=true,AutoSync=linq.Mapping.AutoSync.OnInsert,IsPrimaryKey=true,CanBeNull=false,DbType="INT NOT NULL IDENTITY")]//propertinin attiributesi
public int Id
{
get { return this.Id_; }
set
{
if (this.Id_ != value)
{
this.Id_ = value;
}
}
}
Şeklinde tanımlamalar ile de sutunlar tanımlayabiliriz. Task tablomuzun ayrıca görev tarihi için DateTime DateTime sutunu görev ismi için string Text görevin tamamlandığına dair bool Completed sutunları ekleyelim.
LinqToSQL default olarak databaseden veri çekerken bir de kopyasını oluşturur çünkü update yada insert işlemleirnde veriyi orjinali ile karşılaştırır hangi veriler değişmiş ise ona göre sonuç çıkarır ve veri tabanında işlem yapar ,gereksiz yere kopya alma işlemini interface oluşturarak engelleyebilirz.Interface tetiklenmez ise copy oluşturulmaz.
private void NotifyPropertyChanging(string propertyname)
{
if (this.PropertyChanging != null)
PropertyChanging(this, new System.ComponentModel.PropertyChangingEventArgs(propertyname));
}
public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;
database modelimizi oluşturduktan sonra SQL servere bağlanmak için bir connection string oluşturmamız gerekir.Bunun için yeni bir sınıf oluşturalım ve aşağıdaki kodlamaları yapalım:
App.cs kısmında very tabanımızı oluşturalım
using (Service.TaskListDBContext dbContext = new Service.TaskListDBContext(Service.TaskListDBContext.ConnectionString))
{
//dbContext.DeleteDatabase();
if (!dbContext.DatabaseExists())
{
//creating data basse
dbContext.CreateDatabase();
}
}
}
Veri tabanın rastgele veriler girmek için bir sayfa oluşturalım otomatik very tabanına veriler yazalım bu genellikle uygulamalarda verileri kullanıcıdan alınır biz kolay olsun diye şimdilik bu şekilde kodlayalım.
Oluşturduğumuz sayfanın tasarımını aşagıdaki şekilde yapalım:
Hiç yorum yok:
Yorum Gönder