Io uso linq 2 sql per il mio ORM.Come posso sapere se un determinato oggetto Linq-to-Sql è collegato a un datacontext?
Per motivi di prestazioni, serializzo alcuni di essi e li metto in memcached.
Quando sono deserializzati, non sono ovviamente collegati a un datacontext, che è al 100%, in quanto vengono utilizzati solo per la lettura in quegli scenari.
Per motivi di sanità, tuttavia, mi piacerebbe essere in grado di stabilire se un determinato oggetto è collegato a un datacontext (recuperato dal db) o meno (recuperato da memcached).
Qualche idea?
Grazie.
Grazie David, sembra funzionare. Tuttavia, quando si tenta di collegare un'entità che proviene dal contesto, genera un'eccezione, che potrebbe diventare costosa se questo controllo è stato eseguito frequentemente come guardia: \ – Thenon
Semplicemente usando il metodo 'GetOriginalEntityState' e un controllo Null senza che la chiamata 'Attach' prima sembra funzionare ad es 'entityTable.InsertAllOnSubmit (entities.Where (e => entityTable.GetOriginalEntityState (e) == null))' inserisce correttamente tutte le nuove entità. – bstoney