¿Hay alguna forma de deshabilitar las funciones de seguimiento de objetos de LINQ sin deshabilitar también las asociaciones secundarias con carga lenta?LINQ to SQL: ¿El establecimiento de ObjectTrackingEnabled a fallas rompe la carga lenta de las entidades secundarias?
Estoy usando LINQ2SQL en un conjunto de pruebas de integración. Solo estoy usando LINQ para verificar los cambios en la base de datos, por lo que quiero que actúe como una simple capa de acceso a datos en lugar de un ORM completo. Para hacer esto, configuré la propiedad ObjectTrackingEnabled del contexto de datos en falso para evitar que LINQ guarde en caché los datos. Esto funciona bien, excepto que rompe asociaciones entre entidades.
Por ejemplo, asuma dos tablas WIDGET y CATEGORY, con una relación FK entre ellas. Con el seguimiento de objetos habilitado, widgetInstance.CATEGORY está correctamente cargado. Con el seguimiento de objetos deshabilitado, no se carga nada y la propiedad CATEGORY es siempre nula.
¿Cómo evito que LINQ almacene datos en caché, sin que también impida la carga diferida?
ACTUALIZACIÓN: Aquí está a link to the MSDN page a la que se hace referencia en la respuesta. También se descubrió que puedo usar LoadWith para hacer una carga ansiosa de datos secundarios. En mi caso, solo quiero los datos, por lo que la carga ansiosa está bien.
Debería tener RTFM :) –