data access layer
Download
Skip this Video
Download Presentation
Data Access Layer

Loading in 2 Seconds...

play fullscreen
1 / 15

Data Access Layer - PowerPoint PPT Presentation


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

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

slide3

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

slide4

ObjectDataSource

  • Esempiodi Consumer detailsView e del relativocontrolloObjectDataSourcedi cui fruisce

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

slide5

ObjectDataSource

  • Esempiodi Consumer GridViewchefruiscedi un controlloObjectDataSource

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

ado net entity framework

ADO.NetEntityFramework

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

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

slide8

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

slide9

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

slide10

Entity Data Model

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

TitoloPresentazione / Data / Confidenziale / Elaborazione di ...

slide11

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

slide12

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

slide13

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

slide14

.edmx

  • Un esempiodi file .edmx (estratto)

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

slide15

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