1 / 15

Data Access Layer

Data Access Layer.

leal
Download Presentation

Data Access Layer

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Data Access Layer TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

  2. 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 ...

  3. 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 ...

  4. ObjectDataSource • Esempiodi Consumer detailsView e del relativocontrolloObjectDataSourcedi cui fruisce TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

  5. ObjectDataSource • Esempiodi Consumer GridViewchefruiscedi un controlloObjectDataSource TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

  6. ADO.NetEntityFramework TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

  7. 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 ...

  8. 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 ...

  9. 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 ...

  10. Entity Data Model • Qualoraglioggettidella base datisianotralororelazionati, le relazionivengonomappate in seno al Data Model attraverso apposite entitàdirelazione TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

  11. 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 ...

  12. .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 ...

  13. .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 ...

  14. .edmx • Un esempiodi file .edmx (estratto) Titolo Presentazione / Data / Confidenziale / Elaborazione di ...

  15. 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 ...

More Related