Est-il possible de créer une expression LINQ dans une bibliothèque de classes portable et de réutiliser l'expression dans d'autres parties de l'application? Un cas d'utilisation pratique pour moi serait d'utiliser ces expressions dans CompiledQuerys à travers les plates-formes au lieu de copier/coller le même code plusieurs fois.Réutilisation d'expressions LINQ créées dans une bibliothèque de classes portable
Toutes mes tentatives jusqu'à présent ont fini par lancer une exception d'exécution plus ou moins vide de sens (NullReferenceException
, Colonne non trouvée ..). Je suppose que les expressions LINQ dans une PCL sont traitées différemment que par exemple dans une application WP?
public class SomeClassNotInPCL
{
private static readonly Func<Context, int, MyClass> CompiledQuery =
CompiledQuery.Compile(ClassFarAway.MethodInsidePCL());
}
public class ClassFarAway
{
private static Expression<Func<IContext, int, MyClass>> MethodInsidePCL()
{
return (context, id) => context.MyClass.FirstOrDefault(m => m.Id == id);
}
}
Expression comme dans les expressions Linq ou les expressions régulières? – user7116
Bon point. Je m'intéresse à System.Linq.Expressions.Expression. – UnclePaul
Exemple de code peut aider grandement. Est-ce L2SQL? L2EF? L2O? – user7116