Un débutant dans SQL/DB ici- Je suis en train de concevoir une application Windows universelle où une base de données peut être utile, donc je lis sur SQL/SQLite et je me demande comment est-ce que la rétrocompatibilité (classes/tables sage) fonctionne? Supposons que j'ajoute ou supprime une propriété d'une classe que j'ai utilisée comme base pour une table. Serai-je toujours capable d'interagir avec les données d'ancienne classe et de les transtyper dans la classe mise à jour? Comment va-t-on surveiller les propriétés ajoutées/supprimées lors de l'interrogation de la base de données?SQL (SQLite) et rétrocompatibilité
Nous vous remercions de votre temps. Edit: Scénario - si j'ai un utilisateur avec 2 propriétés - 'Id', 'Nom'.
public class User
{
public int Id {get; set; }
pubic string Name {get; set;}
}
Et j'ai construit une application avec un 'Users' Db et je l'utilise depuis un moment. Ensuite, j'aimerais ajouter une autre propriété à ma classe User. Supposons que c'est l'âge. Puis-je ajouter cette nouvelle propriété à ma classe « User » original et toujours en mesure d'accéder à la table des utilisateurs d'origine avec-
var user = DbConnection.Table<User>().Where(x => x.Id == tId).FirstOrDefault();
De toute évidence, une option serait de garder l'utilisateur d'origine et de créer une autre classe UserEx qui sera avoir les propriétés originales + Age. Ensuite, je prends tous les 'utilisateurs, les port sur UserEx et enregistrer dans une nouvelle table.
Cela ne semble un peu lourd à faire pour chaque ajouté/supprimé la propriété si
@Kickaha pourquoi pensez-vous que? –
@Oyiwai: pourriez-vous [éditer] votre question pour ajouter un exemple simple où vous avez une table, changez la table, et que voulez-vous faire? Cela pourrait aider à clarifier ce que vous demandez, à la fois pour vous et pour les personnes qui lisent votre question. Cela réduirait également la portée de votre question, pour la rendre [moins large] (http://stackoverflow.com/help/dont-ask). –
@Kickaha Selon http://superuser.com/help/on-topic, "programmation et développement de logiciels" est hors-sujet. Et http://superuser.com/help/dont-ask est une copie de celle-ci. –