Login Login
MORE

WIDGETS

Widgets

Wanted articles
Who is online?
Article tools

CSharp:LinQ To SQL

From Aino Wiki

Jump to: navigation, search

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


Visual Studio


Parole chiave: LinQ2SQL LinQ 2 SQL

Author Giuseppe AINO