Passa ai contenuti principali

Post

Visualizzazione dei post da aprile, 2010

Richiesta di conferma Javascript sul Submit di una Form

Senza ricorrere ai plugin per visualizzare messageBox in jQuery. Il linguaggio Javascript già permette di usare la funzione confirm(), un analogo dell'alert che presenta all'utente la possibilità di scegliere fra Ok e cancel e ritorna il valore true/false di conseguenza. La funzione si può usare direttamente nell'html. input type="image" src="delete_16x16.gif" onclick="return confirm('Procedere con la cancellazione?');" title='Elimina'

Entity Framework - Condition Cannot be specified

In attesa del rilascio ufficiale di VS2010, bisogna fare i conti con un baco nella versione RC riguardo all'entity framework. Caso: un campo nullable della tabella principale riferisce una tabella secondaria. La chiave primaria della tabella secondaria è di tipo identity (autogerata). Entity framework erroneamente marca come autogerata ( StoreGeneratedPattern="Identity" ) anche la proprietà della tabella Principale. Il link per votare il baco su microsoft connect e un workaround. In breve il workaround consiste nel rimuovere la specifica ( StoreGeneratedPattern="Identity" ) per i campi incriminati (il listato xml si può editare direttamente in visual studio: tasto destro sul file .edmx nel solution explorer e poi "edit xml").

Entity Framework

Linq2Sql è un'ottimo generatore di classi per il nostro DataLayer. E comunque ora di fare il passo successivo. Una serie di video con la panoramica sugli strati di accesso ai dati. Il blog del team di ADO.NET. Le stringhe di Connessione (MSDN) Sql Server Profiler For Sql Server Express (un progetto opensource).

Limiti di Linq: più campi di una tabella riferiscono ad una stessa tabella di lookup

Se una tabellaX ha più campi collegati tramite relazione di chiave esterna verso una stessa tabellaY di lookup Linq2Sql genererà per la classeX (mapping di tabellaX) una property per ognuna delle chiavi esterne. Sfortunatamente non abbiamo controllo sul naming di queste property, che saranno chiamate: tabellaY1 tabellaY2 tabellaY etc... le altenative sono: ricordarsi il significato di ogni chiave esterna, secondo il loro ordine fare un renaming sulle property delle classe generata da Linq (salvo fare la stessa operazione ad ogni drag-drop della tabella sul designer linq)