5 votes

Exemple d'OrmLite UpdateOnly avec plusieurs champs

Est-il possible d'utiliser la méthode d'extension OrmLite UpdateOnly pour mettre à jour plusieurs champs à la fois ?

L'exemple donné dans la documentation est le suivant :

db.UpdateOnly(new Person { FirstName = "JJ" }, p => p.FirstName);

Puis-je fournir une expression contenant plusieurs champs ? Si oui, quel est le meilleur opérateur à utiliser étant donné que les champs peuvent être de différents types de données.

6voto

Jacob Foshee Points 1022

Un exemple a été donné dans la question suivante : Support de ServiceStack Ormlite et RowVersion

Une expression valide à utiliser est un type anonyme, même un type avec des noms de membres implicites comme décrit dans cette question : C# : Types et noms de propriétés anonymes .

db.UpdateOnly(new Person { FirstName = "JJ", Age = 12 }, 
    (Person p) => new { p.FirstName, p.Age } );

Notez que dans mon exemple, j'ai déclaré le type de l'argument lambda. Ce n'est peut-être pas strictement nécessaire, mais j'obtenais une erreur du compilateur Mono sans cela.

Error CS0016: Could not write to file `***', cause: Type '<>__AnonType1`2' was not completed.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X