CSharp:LinQ To SQL
From Aino Wiki
Contents
Definizione
Cancellazione
Esempio
Nel caso di una singola cancellazione:
var db = new MeatRequestDataContext(); if (input.UserID > 0) { entity = new User() { UserID = input.UserID }; db.Users.Attach(entity); db.Users.DeleteOnSubmit(entity); } db.SubmitChanges(); // <-- commit dei cambiamenti pendenti
Per cancellarne più di uno (da StackOverflow):
CustomerDataContext ctx = new CustomerDataContext("connection string"); var customers = ctx.Customers.Where(c => c.Name == "david"); ctx.Customers.DeleteAllOnSubmit(customers); ctx.SubmitChanges(); // <-- commit dei cambiamenti pendenti
Selezioni
Esempio
Con Join
eSprechiDataContext eSprechiDB = new Database.eSprechiDataContext(); // ... List<FABBISOGNO_ROTAZIONE_PIATTO_GIORNO> lst_frpg_cache = (List<FABBISOGNO_ROTAZIONE_PIATTO_GIORNO>) (from a in eSprechiDB.FABBISOGNO_ROTAZIONE_PIATTO_GIORNOs join b in eSprechiDB.FABBISOGNO_GIORNO_ROTAZIONEs on a.ID_GIORNO_ROTAZIONE equals b.ID_GIORNO_ROTAZIONE join c in eSprechiDB.FABBISOGNO_ROTAZIONE_SETTIMANAs on b.ID_ROTAZIONE_SETTIMANA equals c.ID_ROTAZIONE_SETTIMANA join d in eSprechiDB.FABBISOGNO_ATTIVITA_SETTIMANAs on c.ID_ATTIVITA_SETTIMANA equals d.ID_ATTIVITA_SETTIMANA where c.ID_ROTAZIONE == id_rotazione && c.ID_SERVIZIO == id_servizio select a).ToList();
Modifica ed Inserimento
Esempio
public int CalcolaFabbisognPrevisioneCUCE(....) { eSprechiDataContext eSprechiDB = new Database.eSprechiDataContext(); // <--- Riferimento dal Database try { FABBISOGNO_ATTIVITA_SETTIMANA fas = null; // Carico records di FABBISOGNO_ATTIVITA_SETTIMANAs candidati lstFAS = (from a in eSprechiDB.FABBISOGNO_ATTIVITA_SETTIMANAs where a.ID_IMPIANTO == idImpianto && a.DATA_DA == dtDataDa && a.DATA_A == dtDataA select a).ToList(); Nullable<long> idSettimana = null; if (fas == null) { // etc FABBISOGNO_ATTIVITA_SETTIMANA newWeek = new FABBISOGNO_ATTIVITA_SETTIMANA(); // <--- Il sistema capirà che si vuole INSERIRE newWeek.ID_ATTIVITA_SETTIMANA = idSettimana.Value; // <--- ID del prossimo inserimento newWeek.OPERAZIONE = CodOperFabbisognoEnum.FC.ToString(); eSprechiDB.FABBISOGNO_ATTIVITA_SETTIMANAs.InsertOnSubmit(newWeek); // <------- si prenota l'inserimento } else { fas.OPERAZIONE = CodOperFabbisognoEnum.FC.ToString(); eSprechiDB.FABBISOGNO_ATTIVITA_SETTIMANAs.InsertOnSubmit(fas); // <------- si prenota l'aggiornamento } eSprechiDB.SubmitChanges(); rowsAffected++; } catch (Exception e) { // ... } finally { eSprechiDB.Dispose(); } return rowsAffected; }
Mappa e Link
C# | LinQ | Esempi LinQ Teorici
Parole chiave: LinQ2SQL LinQ 2 SQL