DLINQ convertiamo la prima classe

di Marco Leoncini, in Linq,

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 Customers;
}
}

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.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese