DomainDataSource ve Data Model


Merhaba Arkadaşlar;

Daha önceki yazımda DomainDataSource ve bize katacakları hakkında bilgi vermiştim, onun için tekrar etmek istemiyorum.

Öncelikle bu örneği VS 2008 ve ya vs 2010 da yapacaksanız WCF RIA adında bir eklenti var ve bunu kurmalısınız. Ben ne kadar DomainDataSource desemde bu eklentiden sonra Direk olarak bir RIAServiceLibrary uygulaması başlatın ve öncelikle kullanacağınız data modelinizi .dbml ya da .edmx ".edmx sadece vs2010 da var" herzaman yaptığımız Drag and Drop işlemi ile DataContex'imizi oluşturalım. Daha sonra SolutionExplorer dan Add New Item seçeneğinden WEB sekmesinden DomainServiceClass Class'ımızı ekleyelim ve karşımıza çıkan Wizard'da biraz önce yarattığımız DataContex'imizi ve ona bağlı olan Tablolarımızı seçelim.

 

 

 

[EnableClientAccess()]

    public class RestoranDomainService : LinqToSqlDomainService<RestoranDataContext>

    {

        public IQueryable<tbKategori> GetTbKategoris()

        {

            return this.DataContext.tbKategoris;

        }

 

        public void InsertTbKategori(tbKategori tbKategori)

        {

            this.DataContext.tbKategoris.InsertOnSubmit(tbKategori);

        }

 

        public void UpdateTbKategori(tbKategori currenttbKategori)

        {

            this.DataContext.tbKategoris.Attach(currenttbKategori, this.ChangeSet.GetOriginal(currenttbKategori));

        }

 

        public void DeleteTbKategori(tbKategori tbKategori)

        {

            this.DataContext.tbKategoris.Attach(tbKategori);

            this.DataContext.tbKategoris.DeleteOnSubmit(tbKategori);

        }

        public IQueryable<tbUrunler> GetTbUrunlers()

        {

            return this.DataContext.tbUrunlers;

        }

 

        public void InsertTbUrunler(tbUrunler tbUrunler)

        {

            this.DataContext.tbUrunlers.InsertOnSubmit(tbUrunler);

        }

 

        public void UpdateTbUrunler(tbUrunler currenttbUrunler)

        {

            this.DataContext.tbUrunlers.Attach(currenttbUrunler, this.ChangeSet.GetOriginal(currenttbUrunler));

        }

 

        public void DeleteTbUrunler(tbUrunler tbUrunler)

        {

            this.DataContext.tbUrunlers.Attach(tbUrunler);

            this.DataContext.tbUrunlers.DeleteOnSubmit(tbUrunler);

        }

    }

 

Bu işlemlerden sonra we.config dosyamıza;

 

<httpHandlers>

  ...

  <add path="DataService.axd"

      verb="GET,POST"

      type="System.Web.Ria.DataServiceFactory, System.Web.Ria,
            Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35
"

      validate="false" />

</httpHandlers>

 

eklememiz gerekiyor,  ve kullanacağımız .dll dosyalarını da referans olarak eklememiz gerekiyor;

 

<%@ Register TagPrefix="asp" Namespace="System.Web.DomainServices.WebControls" Assembly="System.Web.DomainServices.WebControls" %>

 

 En son olarak da GridView ve DomainDataSource'un ayarlarını yapmamız yeterli olacaktır.

 

<asp:GridView runat="server" ID="GridView1"

  AutoGenerateColumns="true"

  DataSourceID="RestoranDataSource">

</asp:GridView>

 

 

<asp:DomainDataSource runat="server" ID="RestoransDataSource"

  DomainServiceTypeName="Samples.RestoranDomainService"

  SelectMethod="GetTbUrunlers">

</asp:DomainDataSource>

 

 

 

Umarım beğenmişsinizdir. 

Bu konu ile ilgili biraz daha bekledikten sonra, daha fazla örnek yapıcam ve bunları sizlerle palaşmaya çalışıcam. Hala BETA olduğu için, inanın ciddi sıkıntılar çıkartabiliyor "en azından bazen" onun için bu konuda biraz daha beklemeyi tercih edip, VS 2010 da çok daha stabil çalışabileceğimi unut ederek, sabırsızlanıyorum. Aslında gerçek anlamda bize çok güzel kolaylıklar, fonksiyonellikler sağlayacak bir özellik, hatta bir Library ve ya Class, onun için umarım en kısa zaman da sorunsuz bir şekilde kullanmaya başlarız.

İyi Çalışmalar, Kolaygelsin.






Add comment


Blog Posts' Cloud