Data access layer
Download
1 / 15

Data Access Layer - PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on

Data Access Layer.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Data Access Layer' - leal


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Data access layer

Data Access Layer

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...


  • Un data access layer (DAL) è un layer di un programma (unostrato software, in OOP potrebbeessere un insiemediclassi) aventeilcompitodisemplificarel’accessoaidaticontenuti in uno storage (un contenitore) diqualchetipo, come ad esempio un database relazionale

  • In unalogica MVC, permettedirealizzareildisaccoppiamentotraquellichesonoi layers di un programmaatti a esposizionedeidati/ controllo del flussoapplicativo ( View/Controller) dauna parte edappunto, il layer per l’accessoaidatidall’altro

  • Un DAL nascedall’astrazione cui vienenaturalmentesottoposta la funzionalitàdiaccessoaidati, nellasuavestereale, in quantocomponente largamente ripetuta in seno ad unosviluppo software

  • Nellospecificodellapiattaforma ASP.NET, esempidi data access layers standard vengonofornitidall’Entity framework e daiDataSets. La piattaformametteinoltre a disposizionestrumentidisempliceutilizzo per l’integrazionedei Data Consumers standard con DALs custom

Titolo Presentazione / Data / Confidenziale / Elaborazione di ...


ObjectDataSource

  • Il controlloObjectDataSourcepermettel’integrazionedichiarativatraiData Consumers standard e DALs custom; esempiodi data access layer custom è unaclasse C# esponentemetodi per l’accessoaidati

  • L’ObjectDataSourcemappaimetodi del DataAccessLayer e puòessererichiamatoda un Consumer standard

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...


ObjectDataSource

  • Esempiodi Consumer detailsView e del relativocontrolloObjectDataSourcedi cui fruisce

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...


ObjectDataSource

  • Esempiodi Consumer GridViewchefruiscedi un controlloObjectDataSource

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...


Ado net entity framework

ADO.NetEntityFramework

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...


  • L’ Entity Framework fa parte diquellafamigliaditecnologie per l’accessoaidati nota con ilnomedi ADO.NET

  • E’ un framework afferenteallafamigliadeicosiddetti Object Relational Mapper (ORM) cheaiutaglisviluppatori .NET nell’operazionedisnellimentodiquelloche è ilcodice per realizzarel’accessoaidati (codicechespesso e volentieririsultaessereabbondante e ridondante).

  • Permette la creazionedi un cosiddetto Entity Data Model (EDM. Un Entity Data Model mappastrutturedati e relazionitraesseintercorrenti; ilmotoredell’ORMgestiscegenericheoperazionidiaccessoaidaticonformementeallestrutturemappate in senoall’EDMstesso.

  • Permetteildisaccoppiamentotra lo stratodiaccessoaidatiedilcosiddettostratodi presentation

  • L’ambientedisviluppo Visual Studio 2010 espone tools per ilsupportoallacreazione e modellizzazionedell’EDM, riducendoulteriormentequanto ad oneredellosviluppatore/analista

Titolo Presentazione / Data / Confidenziale / Elaborazione di ...


Entity Data Model

Creare un Entity Data Model con Visual Studio

  • Si puòutilizzareil wizard ADO.NET Entity Data Model

    • generazionedi un file [MyModel].edmx

    • generazionedi un file [MyModel.designer.cs]

    • aggiuntadiriferimenti (Es: System.Data.Entity)

  • Modificavisuale dell Entity Data Model

    • apertura in Visual Studio del file [MyModel].edmxedutilizzodeglioggettidella toolbox Entity Framework

    • apertura in Visual Studio del file [MyModel].edmxe modifica del modello a partireda un database esistente

  • Titolo Presentazione / Data / Confidenziale / Elaborazione di ...


    Entity Data Model

    Generazione Entity Data Model da database

    • Modellodi un intero database: tabelle (comprensivedivincoli, chiavi e relazioni), viste, stored procedures

    • Modellocomprensivodisingolioggetti del data base

    • A frontedioggettiqualitabelle/vistevengono generate entitànel Data Model; le entitàmappano le corrispondentistrutturesulla base dati

    TitoloPresentazione / Data / Confidenziale / Elaborazione di ...


    Entity Data Model

    • Qualoraglioggettidella base datisianotralororelazionati, le relazionivengonomappate in seno al Data Model attraverso apposite entitàdirelazione

    TitoloPresentazione / Data / Confidenziale / Elaborazione di ...


    Entity Data Model

    Modifica del modello in modalitàvisuale con editor di Visual Studio

    • Comportal’automatizzazionedellemodificheaisorgenti del modello[MyModel].edmx e [MyModel.designer.cs]

    • [MyModel].edmxfile xml descrittore del modello: ne espone la strutturaattraversounaseriedi tags xml (definitidaunaopportunagrammatica)

    • [MyModel.designer.cs] file dicodice C#, esponemetodi del Data Access Layer

    • I files edmx e designer.csvengonoutilizzatidalmotoredell’EF per la gestionedelleoperazionidiaccessoaidati

    Titolo Presentazione / Data / Confidenziale / Elaborazione di ...


    .edmx

    • Un file .edmx è un file XML chedefinisce un modelloconcettuale, uno storage model, edunamappatrai due.

    • Un file .edmxcontieneancheinformazionichesonousatedall’ADO.NET Entity Data Model Designer (Entity Designer) per renderizzaregraficamenteilmodello.

    • La best-practice dicreazionedi un file .edmxprevedel’uso del già citato Entity Data Model Wizard

    • Contenutodi un file .edmx

      • RuntimeContent (edmx:Runtime)

        • edmx:StorageModels

        • edmx:ConceptualModels

        • edmx:Mappings

      • Designer Content (edmx:Designer)

        • edmx:Connection

        • edmx:Options

        • edmx:Diagrams

    Titolo Presentazione / Data / Confidenziale / Elaborazione di ...


    .edmx

    • RuntimeContent (edmx:Runtime) : questasezionecontieneinformazionichesonousate per generareilmodello e mapparei file delleapplicazionicheutilizzanol’entity Framework

      • edmx:StorageModels:questasezionedescrive lo schema(la struttura) del database target ed è scritta in linguaggio SSDL (Storage Schema Definition Language)

      • edmx:ConceptualModels: Questa sezionedefinisceentitàedassociazionitraentitàneldominioapplicativo. Questa sezione è scritta in linguaggio CSDL (Conceptual Storage definition Language)

      • edmx:Mappings: Questa sezionedescriveil mapping trailmodelloconcettualeedil database target ed è scritto in linguaggio MSL (Mapping Specification Language)

    • Designer Content (edmx:Designer): questa sezionecontieneinformazioniutilizzatedall’ Entity Designer per renderizzare un modelloconcettualegraficamente

      • edmx:Connection: questasezionedescrive le proprietà del modelloconcettualechesiriflettonosullastringadiconnessione

      • edmx:Options: questa sezione descrive proprietà opzionali del modello concettuale

      • edmx:Diagrams:questasezionecontieneinformazioniusatedall’ Entity Designer per renderizzaregraficamenteilmodelloconcettuale

    Titolo Presentazione / Data / Confidenziale / Elaborazione di ...


    .edmx

    • Un esempiodi file .edmx (estratto)

    Titolo Presentazione / Data / Confidenziale / Elaborazione di ...


    EntityDataSource

    • Per richiamareilDataModel e funzionalità ad esso associate, in un documento .aspx è possibileutilizzareilcontrolloEntityDataSource

    • Simile al controllo SqlDataSource, è specificatamente pensato per interagire con una sorgente dati gestita attraverso l’EntityFramework

    • Puòessereespostodichiarativamente in un documento .aspxattraverso un tag

    • <asp:EntityDataSource> e fungere da intermediario tra il DAL (rappresentato dall’EntityFramework) e i controlli di esposizione dati (layerView)

    • Puòessererichiamatoda un qualsiasicontrollo “consumer “, siaesso ad esempiounaGridView o unaDatalist

    Titolo Presentazione / Data / Confidenziale / Elaborazione di ...


    ad