Je construis une application de blog personnel avec Entity Framework 4 CTP 5 POCO seulement, où un post peut avoir beaucoup Balises et Tag peut être dans de nombreux messages . Ma question est de savoir s'il faut construire un modèle many-to-many, ou avoir une table de recherche. Au début, j'essayais d'utiliser beaucoup-à-plusieurs, mais je ne sais pas comment faire de l'insertion, chaque fois qu'un nouveau post est posté (avec de nombreux tags sélectionnés), je ne sais pas quoi faire de sorte que les étiquettes doivent être associés au poste (. et ne pas insérer une nouvelle balise si le nom de la balise existe déjà)Entity Framework 4 CTP 5 POCO - Table plusieurs-à-plusieurs ou Liste de choix?
J'essaie alors de construire une table de recherche comme ceci:
Poster
public class Post
{
public int Id { get; set; }
[Required]
[StringLength(512, ErrorMessage = "Title can't exceed 512 characters")]
public string Title { get; set; }
[Required]
[AllowHtml]
public string Content { get; set; }
public string FriendlyUrl { get; set; }
public DateTime PostedDate { get; set; }
public bool IsActive { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
public virtual ICollection<PostTagLookup> PostTagLookups { get; set; }
}
Ta g
public class Tag
{
public int Id { get; set; }
[Required]
[StringLength(25, ErrorMessage = "Tag name can't exceed 25 characters.")]
public string Name { get; set; }
public string FriendlyName { get; set; }
public virtual ICollection<PostTagLookup> PostTagLookups { get; set; }
}
PostTagsLookup
public class PostTagLookup
{
public int PostId { get; set; }
public int TagId { get; set; }
}
Le problème est que je ne suis pas sûr de savoir comment EF allez gérer la table de recherche (comment vais-je obtenir les mots clés d'un poste ou une collection de les postes lorsque je sélectionne un tag). Et avec le code ci-dessous, je suis une erreur disant PostTagLookup n'a pas de clé Id:
Toute suggestion sur la façon d'accomplir cette tâche? Merci beaucoup!
J'ai essayé beaucoup-à-plusieurs, mais n'a pas fonctionné (c'est ma question originale: http://stackoverflow.com/questions/4571188/entity-framework-4-many-to-many-insertion) , il jette une erreur sur quelque chose lié à l'objet n'a pas été instancié suivant ** The_Smallest ** suggestion. Ensuite, il y a une autre suggestion disant que je devrais utiliser une table de recherche, sans la colonne 'Id'! – Saxman