ADO.Net Entity Framework

Ado.Net Entity Framework è uno dei metodi che si possono utilizzare in una applicazione .Net per accedere a una base di dati.
EF è una alternativa al metodo tradizionale tramite Ado.Net/DataSet e a Linq to Sql.

L'Entity Framework si pone tra l'applicazione .Net e il data base creando un modello a oggetti che rappresenta il data base o una parte di esso comprese tabelle, relazioni, viste.
Questo modello a oggetti è poi utilizzabile dall'applicazione e interrogabile tramite Linq to Entities, un linguaggio simile a SQL.

 Entity Framework non è un componente aggiuntivo ma fa proprio parte del Framework .Net a partire dalla versione 3.5 SP1 e può essere usato solo con data base di tipo Microsoft SQL Server. E'disponibile non solo per applicazioni Web Form ma anche per altri tipi di progetto come ad esempio Windows Form.

Impostare un Entity Data Model in un sito Asp.Net

Si cominicia impostando una stringa di connessione al DB nel file web.config.

<connectionStrings>
	<add name="NorthWind_ConnString" providerName="System.Data.SqlClient" 
		connectionString="Server=localhost; User ID=sergio; Password=aerosmith; Database=Northwind;" />
</connectionStrings>

In Visual Studio, da Solution Explorer aggiungere la cartella App_Code; questa cartella serve a contenere classi rendendole visibili da tutte le pagine del sito.

Tasto destro sul progetto >> Add Asp.Net Folder >> App_Code

Poi aggiungere il file per il modello dati:

Tasto destro su App_Code >> Add New Item >> ADO.NET Entity Data Model

Si apre in automatico il Wizard. Nelle varie maschere impostare:

  •  Generate from Data Base
  • selezionare la stringa di connessione nella tendina (o crearne una nuova)
  • selezionare le tabelle (e se necessario anche le stored procedures e le viste) da aggiungere al modello; lasciare i check impostati.
    Nota: è meglio usare i nomi in inglese per avere i plurali in automatico. Se in italiano sarà necessario impostarli a mano.

Al termine del Wizard si genera un file con estensione edmx contenente un diagramma del data base consultabile da Visual Studio; per ogni tabella del db viene creata una classe.

 

Configurare un Entity Data Source

Una volta impostato il Data Model è possibile creare e usare un EntityDataSource in modo analogo a come si farebbe con un SqlDataSource.

Creare ad esempio un GridView, poi dallo Smart Task menu:

GridView Tasks >> New Data source >> Entity >> Named Connection: specificare l'entità >> Entity Set Name >> Specificare la tabella del db

Se necessario flaggare le checkbox per abilitare inserimento, modifica e cancellazione automatizzata.

Infine si ottiene un codice aspx simile al seguente:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
	DataSourceID="EntityDataSource1">
	<Columns>
		<asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
			ReadOnly="True" SortExpression="CompanyName" />
		<asp:BoundField DataField="City" HeaderText="City" ReadOnly="True" SortExpression="City" />
		<asp:BoundField DataField="Country" HeaderText="Country" ReadOnly="True"
			SortExpression="Country" />
	</Columns>
</asp:GridView>

<asp:EntityDataSource ID="EntityDataSource1" runat="server"
	ConnectionString="name=NorthwindEntities" DefaultContainerName="NorthwindEntities"
	EnableFlattening="False" EntitySetName="Customers" 
	Select="it.[CompanyName], it.[City], it.[Country]">
</asp:EntityDataSource>

Autore: Sergio Roberto Boarina