DLINQ convertiamo la prima classe
di Marco Leoncini, in Io Me e Linq, mercoledì 7 giugno 2006 ore 01.37
Solo qualche giorno fa dicevo che a fatica riesco a concentrarmi a lungo sul solito argomento.
Così dopo una breve chiacchierata con Script#. Mi sono trovato a giocare con DLINQ.
DLING è una costola del più ampio progetto LINQ, che promette di renderci più facile la convivenza tra il mondo relazionare e OO
Volevo partire da un progetto esistente, e "tradurlo" in DLINGHIANO (brevetterò questo nome).
Quindi ho preso un programma terminato di recente che necessita solo di alcuni aggiustamenti richiesti dal cliente.
Il programma è un gestionale per gli stabilimenti balneari partiamo dalla ormai inflazionatissima classe Customer l'originale:
private int id;
public int ID
{
get
{
return id;
}
set
{
id = value;
}
}
private string name;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
e quella modificata:
[Table(Name="Customer")]
public class Customer
{
private int _ID;
[Column(Name="ID",Id=true,AutoGen=true,Storage="_ID")]
public int ID
{
get
{
return _ID;
}
set
{
_ID = value;
}
}
private string _Name;
[Column(Name="Name",Storage="_Name")]
public string Name
{
get
{
return _Name;
}
set
{
_Name = value;
}
}
Senza dilungarmi troppo la decorazione tramite gli attributi mappa la tabella Customers del DB alla classe Customer.
Il passo successivo è crearsi un DataContex tipizzato.
namespace LINQBeach
{
public class TheSimpleBeach : DataContext
{
public TheSimpleBeach(string connectionString):base(connectionString){ }
public Table
}
}
Il DataContext rappresenta, il "mediatore" tra il db e le nostre classi.
Per finire in una pagina aspx:
protected void Page_Load(object sender, EventArgs e)
{
TheSimpleBeach db = new TheSimpleBeach(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\TheSimpleBeach.mdf;Integrated Security=True; User Instance=True");
var q =
from c in db.Customers
where c.Name.Contains("m")
select c;
foreach (var cust in q)
Response.Write(string.Format("
Nome = {2} Cognome = {0} Citta = {1}
",cust.Surname, cust.City, cust.Name));}
Tutto fila liscio, fin qua non è stato difficile, perche l?esempio è molto semplice, nei prossimi giorni converitò altre due classi BeachUmbrella e Rent sicuramenti più interessanti, entreranno in gioco le relazione tra tabelle e classi e altro ancora
Se state giocando con la Ctp spero che siate stati più fortunati di me, infatti dopo l?istallazione l?intellisense mi ha abbandonato.
Nella stessa categoria
I più letti del mese



















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.