di: Giuseppe Marchi 22 Ottobre 2008
Come per i controlli SqlDataSource e ObjectDataSource, anche LinqDataSource, se collegato ad una classe DataContext generata da un modello di mapping LINQ to SQL, ha la possibilità di abilitare le tipiche operazioni di inserimento, modifica e cancellazione di dati da una tabella.
Per farlo, basta impostare a true le proprietà:
e, chiaramente, legare il data-source ad un controllo di visualizzazione che gestisca queste tre operazioni (come per esempio una DetailsView).
<asp:LinqDataSource ID="linqDSCustomers" runat="server"
ContextTypeName="NorthwindDataContext"
TableName="Customers" OrderBy="ContactName" />
<asp:DropDownList ID="ddlCustomers" runat="server"
DataSourceID="linqDSCustomers" DataValueField="CustomerID"
DataTextField="ContactName" AutoPostBack="true" /><br />
<asp:LinqDataSource ID="linqDSUpdate" runat="server"
ContextTypeName="NorthwindDataContext"
TableName="Customers"
Where="CustomerID = @CustomerID"
EnableUpdate="True" EnableDelete="true" EnableInsert="true">
<WhereParameters>
<asp:ControlParameter ControlID="ddlCustomers" Name="CustomerID"
PropertyName="SelectedValue" />
</WhereParameters>
</asp:LinqDataSource>
<asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="linqDSUpdate"
DataKeyNames="CustomerID" AutoGenerateEditButton="True"
AutoGenerateDeleteButton="true" AutoGenerateInsertButton="true" />
Anche in questo abbiamo raggiungere il nostro scopo scrivere code-behind: è il controllo LinqDataSource a preoccuparsi di generare le query di update, insert e delete in LINQ.
Infine, come già evidenziato nel corso dell'articolo, c'è un elenco di parametri diponibili per le varie clausole del controllo (select, where, orderby, groupby, etc.). Questi parametri rappresentano le stesse funzioni degli omologhi per i controlli SqlDataSource e ObjectDataSource.
Avere padronanza di questo tipo di controllo può risultare utile, in quanto è possibile creare semplici applicazioni di interazione con una base di dati, senza scrivere pagine e pagine di codice .NET. Inoltre, l'utilizzo di questo controllo, implica la presenza di un modello ad oggetti ben strutturato, anche se inserire la logica di selezione direttamente all'interno della parte dichiarativa di una pagina ASP.NET non è proprio una "best-practice".
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |