J'ai cette classeEF - Deux relations entre les deux classes - api Courant avec le code premier
public class Client
{
public int Id { get; set; }
public ICollection<Recipe> Recipes { get; set; }
public ICollection<Recipe> Favorites { get; set; }
}
qui a 2 1 à plusieurs avec la classe de recette
public class Recipe
{
public int Id { get; set; }
public int ClientId { get; set; }
public Client Client { get; set; }
}
Comment puis-je décrire ces deux relations? Ai-je besoin d'une classe supplémentaire (favorite)?
Merci pour l'aide.
EDIT:
J'aurais été plus clair. Client.Recipes est les recettes que le client possède en fait:
modelBuilder.Entity<Client>()
.HasMany(c => c.Recipes)
.WithRequired(r => r.Client)
.HasForeignKey(r => r.ClientId);
le problème avec Client.Favorites est qu'il ne possède pas les ainsi Recipe.ClientId est invalide pour cette relation particulière. J'ai besoin d'une table relationnelle pour cela, ai-je besoin de l'exprimer dans une classe ou peut-elle être exprimée dans Fluent Api? Si oui, comment? Désolé, si je n'étais pas explicite au début.
Voir la [réponse couramment] (http://stackoverflow.com/a/5559300/2030565) et voici une avec [annotations de données] (http://stackoverflow.com/ questions/28582454/ef-6-comment-set-two-foreign-keys-to-same-table). – Jasen
La même recette ne peut-elle pas appartenir à un autre client? Cela ferait beaucoup pour beaucoup. –
Maintenant, ma question est: une recette peut-elle être préférée par plus d'un client? (Je pense) –