J'ai vraiment besoin de quelqu'un pour m'aider à comprendre comment faire une relation plusieurs-à-plusieurs avec Entity Framework 4 CTP 5, POCO. Je dois comprendre 3 concepts:Entity Framework 4 CTP 5 POCO - Configuration plusieurs-à-plusieurs, insertion et mise à jour?
- Comment config mon modèle indique certaines tables sont nombreuses à plusieurs.
- Comment insérer correctement.
- Comment faire pour mettre à jour correctement.
Voici mes modèles actuels:
public class MusicSheet
{
[Key]
public int ID { get; set; }
public string Title { get; set; }
public string Key { get; set; }
public virtual ICollection<Author> Authors { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
public class Author
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
public string Bio { get; set; }
public virtual ICollection<MusicSheet> MusicSheets { get; set; }
}
public class Tag
{
[Key]
public int ID { get; set; }
public string TagName { get; set; }
public virtual ICollection<MusicSheet> MusicSheets { get; set; }
}
Comme vous pouvez le voir, le MusicSheet
peut avoir plusieurs Authors
ou Tags
, et un Author
ou Tag
peut avoir plusieurs MusicSheets
.
Encore une fois, mes questions sont les suivantes:
- Que faire sur le
EntityTypeConfiguration
pour régler le avec le nombre à plusieurs rapports entre eux ainsi que cartographie à une table/objet associés relation. - Comment insérer un nouveau musique partitions (où il peut avoir plusieurs auteurs ou plusieurs étiquettes).
- Comment mettre à jour une partition musicale. Pour exemple, je pourrais mettre TagA, TagB à MusicSheet1, mais plus tard, je dois changer les balises pour TagA et TagC. Il semble que je dois vérifier d'abord pour voir si les balises existe déjà, sinon, insérez la nouvelle balise, puis l'associer à la partition (pour que je ne pas revissez TagA?). Ou c'est quelque chose déjà traité par le cadre ?
Merci beaucoup. J'espère vraiment le comprendre au lieu de simplement le faire sans vraiment comprendre ce qui se passe. Surtout sur # 3.
Merci beaucoup, j'ai eu # 1 & # 2 répondu et compris :) Sur ma question de mise à jour: J'ai besoin de trouver les tags/auteurs existants et de les supprimer avant d'en ajouter un nouveau? Je ne peux pas simplement leur fournir des tags/auteurs et le framework vient juste de sortir et se mettre à jour? Juste s'assurer :) Merci encore. – Saxman
Oui, vous pouvez obtenir plus de flexibilité dans le processus d'insertion en initialisant vos collections dans le constructeur.Cheers man! –
Hey BBHorus, j'ai une autre question sur l'insertion. Que se passe-t-il si j'insère une nouvelle partition avec certains des tags déjà existants? Comment ferais-je cela sans créer de tags en double? Merci. – Saxman