J’ai le modèle suivant:
public class Retailer : Entity { public ssortingng Name { get; set; } public ssortingng Address { get; set; } public virtual ICollection Products { get; set; } public virtual ICollection Customers { get; set; } } public class Product : Entity { public ssortingng Name { get; set; } public ssortingng Description { get; set; } public ssortingng ECommerceUrl { get; set; } public ssortingng ImageUrl { get; set; } public Retailer Retailer { get; set; } public ICollection Categories { get; set; } }
J’essaie de définir une relation de 1 à (0 ou plus) dans laquelle un détaillant peut avoir 0 ou plusieurs produits avec les éléments suivants:
modelBuilder.Entity() .HasRequired(r => r.Retailer) .WithMany(p => p.Products) .HasForeignKey(p => p.Id); // Id is defined in the base class
Je reçois l’erreur
Product_Retailer_Source:: la multiplicité n’est pas valide dans le rôle ‘Product_Retailer_Source’ dans la relation ‘Product_Retailer’. Étant donné que le rôle dépendant fait référence aux propriétés de clé, la limite supérieure de la multiplicité du rôle dépendant doit être «1».
- DirectShow USB webcam change de source vidéo
- IDisposable.Dispose n’est jamais appelé après une exception lors de l’utilisation d’un bloc
- Y a-t-il quelque chose en C # qui puisse être utilisé comme firebase database
- Zone de liste déroulante n’affiche pas la valeur par défaut dans DataGridView en C #
- tab container – l’événement ne se déclenche pas
Quel est le problème avec la façon dont je définis la relation? Comment puis-je réparer cela?
Essaye ça
public class Product : Entity { public Retailer Retailer { get; set; } public int RetailerId { get; set; } }
Avec cette configuration (vous n’avez pas défini de clé étrangère pour stocker le RetailerId par rapport au produit)
modelBuilder.Entity() .HasRequired(r => r.Retailer) .WithMany(p => p.Products) .HasForeignKey(p => p.RetailerId);