Bonjour,

Je suis actuellement sur un projet Xamarin (C#) pour tablette, et donc j'utilise des bases de données SQLite.

J'ai créé des classes objets avec leurs champs pour récupérer les données qui sont en base.
Cela fonction très bien, sauf que, pour certaines tables, j'ai des données de relation avec d'autre table.

Par exemple, j'ai une table Personne, j'ai donc mon objet Personne qui récupère les données de cette table. Mais dans cette même table, la colonne type est une relation avec une autre table, que l'on va appeler TableType, dans laquelle se trouve le libellé du type.
Donc je fait la jointure dans la requête SELECT et je rajoute un champ LibelleType dans mon objet.

Avec ça, y a pas de problème je récupère tout ce qu'il me faut.
Mais, quand je veux faire un UPDATE ou un INSERT, en passant par les méthodes de SQLite, il me retourne une erreur car il ne trouve pas la colonne LibelleType dans la table Personne, ce qui est normal puisqu'elle n'y est pas.

Du coup, après une petite recherche, j'ai découvert l'attribut [Ignore] à mettre au-dessus du champ dans la classe Personne pour pas qu'il soit pris en compte lors de l'insertion ou de la mise à jour des données. Et ça marche.

Le problème est que cet attribut empêche également la prise en compte lors d'un SELECT, du coup je ne récupère plus mon LibelleType de la jointure.

Ma question est, connaissez-vous un attribut pour SQLite permettant d’empêcher la prise en compte lors d'un INSERT et UPDATE mais pas lors d'un SELECT?


Merci de votre attention.