Uso linq 2 sql para mi ORM.¿Cómo puedo saber si un objeto Linq-to-Sql dado está adjunto a un contexto de datos?
Por razones de rendimiento, serializo algunos de ellos, y los echo a memcached.
Cuando están deserializados, por supuesto, no están conectados a un contexto de datos, que es 100% correcto, ya que solo se utilizan para leer en esos escenarios.
Sin embargo, por razones de cordura, me gustaría poder decir si un objeto dado está conectado a un contexto de datos (extraído de la base de datos) o no (extraído de la memoria).
¿Alguna idea?
Gracias.
Gracias David, parece funcionar. Sin embargo, cuando intenta adjuntar una entidad que proviene del contexto, arroja una excepción, que podría ser costosa si esta comprobación se ejecutara con frecuencia como guardia: \ – Thenon
Simplemente usando el método 'GetOriginalEntityState' y una verificación nula sin la llamada 'Adjuntar' primero parece funcionar, por ejemplo 'entityTable.InsertAllOnSubmit (entities.Where (e => entityTable.GetOriginalEntityState (e) == null))' inserta correctamente todas las nuevas entidades. – bstoney