Hey, j'essaie de créer un Expression<Func<T, bool>>
dans lequel une propriété de chaîne est convertie/cast en un DateTimeOffset afin que les opérations DateTimeOffset peuvent être effectuées sur elle. Nous utilisons Linq2SQL comme fournisseur de données, qui prend en charge la conversion de chaînes en l'équivalent SQL de DateTimeOffset. Idéalement, je veux que l'expression soit évaluée directement dans la source de données IQueryable, et non en mémoire comme IEnumerable.Parse chaîne comme DateTimeOffset dans Expression <Func <T, bool>>
Voir ci-dessous un exemple de ce que j'ai essayé de loin:
public class MyClass
{
public string MyValue;
}
Expression<Func<MyClass, bool>> filter = mc => DateTimeOffset.Parse(mc.MyValue) > new DateTimeOffset(2007,1,1);
Malheureusement, cette définition provoque filtre une dans l'évaluation de la mémoire.
Je suis confus. La colonne de la table physique est-elle un "char" ou un "datetime"? –
En SQL, la colonne est une chaîne (nvarchar je crois) – NoizWaves