Comment: listes de tâches imbriquées dans les extensions sqlite-net-
Réponse trouvée: Garder la question comme un exemple de la façon de le faire.
Le problème que j'ai rencontré n'était pas lié à sqlite-net-extensions, mais je garde la question en contexte.Comment: listes imbriquées dans les extensions SQLite-Net
[Old Question] J'ai un problème avec TwinCoders extensions SQLite-net.
J'essaie d'insérer un objet de la série dans ma base de données:
J'utilise la méthode Db.InsertWithChildren(SelectedSeriesObject,recursive:true)
.
L'objet Series est ajouté en conséquence avec ses attributs.
Tous les épisodes sont ajoutés ainsi, pas de problèmes là-bas.
Le problème est la raison de base.
Il n'insérera un objet saison, ce qui est (pour une raison quelconque) le dernier objet de la saison de la liste des saisons dans la série
public class BaseSeries : BaseMedia
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[Indexed]
public int ShowId { get; set; }
public string FirstAirDate { get; set; }
public string LastAirDate { get; set; }
public string Status { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)]
public List<BaseSeason> Seasons { get; set; }
/// <summary>
/// TvShow = 0, Anime = 1
/// </summary>
public int SeriesType { get; set; }
}
public class BaseSeason
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[ForeignKey(typeof(BaseSeries))]
public int SeasonId { get; set; }
public int SeasonNumber { get; set; }
public int NumberOfEpisodes { get; set; }
public string Plot { get; set; }
public string Poster { get; set; }
public string AirDate { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)]
public List<BaseEpisode> Episodes { get; set; }
[ManyToOne]
public BaseSeries BaseSeries { get; set; }
}
public class BaseEpisode
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[ForeignKey(typeof(BaseSeason))]
public int EpisodeId { get; set; }
public string Title { get; set; }
public string Plot { get; set; }
public string Poster { get; set; } //still path
public string AirDate { get; set; }
public int EpisodeNumber { get; set; }
public int SeasonNumber { get; set; }
public string SeriesName { get; set; }
[ManyToOne]
public BaseSeason BaseSeason { get; set; }
}
Est-ce qu'il ya quelqu'un avec l'expérience en ce qui concerne les relations imbriquées dans sqlite-Net- extensions qui sait comment faire ce travail ou voir ce que j'ai fait de mal?