CompiledQuery et DataContext.LoadOptions
Quand on utilise une CompiledQuery en LINQ To SQL, on ne peut pas passer des context avec différents LoadOptions.
Si on le fait, on a une exception de type NotSupportedException:
"Compiled queries across DataContexts with different LoadOptions not supported."
Rien de surprenant à cela. En effet, quand on utilise une compiled query, l'expression tree est calculé une fois et ne sera plus recalculé par la suite. Par conséquent, on ne pourrait pas prendre en compte les éventuelles modifications sur le LoadOptions du context (passé en paramètre au délégué généré par la CompiledQuery).
Par contre ce que je n'aime pas du tout c'est que la comparaison du LoadContext se fait avec un == au lieu d'un Equals bien plus adapté !
Dans le forum msdn, j'ai pu constaté que je n'étais pas le seul à avoir eu le problème.
Par conséquent, dans le cas où vous voudriez utiliser des CompiledQuery avec des context ayant un LoadOptions, il vous faudra garder l'instance vers le LoadOptions. 
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :