J'utilise Dynamic Linq library et il y a Source code and basic docu et la version Nugetopérateur '==' incompatible avec les types d'opérandes de Guid 'et 'Guid' en utilisant DynamicExpression.ParseLambda <T, bool>
PM> Installer-Package DynamicLINQ
Je suis en train de construire une clause where qui implique Guids
J'ai essayé avec la chaîne "Id == @0"
. Le tableau de paramètres est juste un object[]
avec la valeur (Guid xxxx
)
var whereClauseSB = BuildLogicalKeyWhereClause2(entity, logicalKey); //build string
var parms = BuildParamArray(entity, logicalKey); // object[]
var whereLambda = Ofsi.Bos.Core.DynamicExpression.ParseLambda<T, bool>(whereClauseSB.ToString(),parms); //parse
une exception est levée dans DynamicExpression.ParseLambda
opérateur '==' incompatible avec les types d'opérandes de Guid 'et « Guid '
- J'ai aussi essayé avec (FAIL) GUID et chaîne.
- J'ai essayé avec et "Id = @ 0" (échouer).
- Chaîne == œuvres de chaîne, tout comme Int32 == int32 mais pas Guid == Guid ne
Toutes les idées?
Peut-être il y a un bogue dans le code comme 'Guid' est indiqué d'avoir un soutien explicite dans leur documentation. – user7116