Je suis nouveau sur C# et MongoDB et je rencontre des problèmes lors de l'insertion/la mise à jour d'éléments d'épargne dans un tableau imbriqué en utilisant un modèle de référentiel en ligne (http://www.primaryobjects.com/cms/article137.aspx). Voici le code:MongoDB sauvegarde les commentaires dans un tableau imbriqué
Modèles:
public class BlogModel
{
[BsonId]
public ObjectId Id { get; set; }
public DateTime Date { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Body { get; set; }
public string Author { get; set; }
public IList<CommentModel> Comments { get; set; }
}
public class CommentModel
{
[BsonId]
public ObjectId Id { get; set; }
public DateTime Date { get; set; }
public string Author { get; set; }
[Required]
public string Body { get; set; }
}
Et le modèle référentiel:
public void Add<T>(T item) where T : class, new()
{
_db.GetCollection<T>().Save(item);
}
public void Add<T>(IEnumerable<T> items) where T : class, new()
{
foreach (T item in items)
{
Add(item);
}
}
Comment pourrais-je ajouter un commentaire au tableau imbriqué en utilisant la classe 'Ajouter'?
Merci dbaseman. Pensez-vous qu'il serait préférable d'ajouter une classe Update à mon Repository? Permettre moi de faire quelque chose comme ... 'addComment public void (ObjectId postID, Commentaire commentaire) { _posts.Collection.Update (Query.EQ ("_ id", Id), Update.PushWrapped ("Commentaires" , commentaire)); } ' – Aymur
@ user1392537 Oui, je suppose que cela a du sens. Je ne suis pas sûr de savoir comment vous faites cela sans "casser" le modèle de dépôt générique, cependant. Je suppose que juste sous-classe Repository ou utiliser des méthodes d'extension? –
McGarnagle