J'essaie d'utiliser LinqToEntities et je viens de remarquer qu'il n'y a pas de champs de clé étrangère dans le modèle de données. Cela semble causer quelques problèmes en essayant d'ajouter un enregistrement. En lisant J'ai trouvé qu'en ajoutant un enregistrement, vous pouvez faire quelque chose comme ceci (le produit a une clé étrangère dans la table Catégories).LinqToEntities et Foreign Keys
Product myProduct = new Product();
myProduct.ProductName = ProductName;
myProduct.Categories = db.CategorySet.Where(c => c.CategoryID == CategoryID).First();
db.AddToProductSet(myProduct);
db.SaveChanges();
Je suis sûr qu'il existe une meilleure façon de procéder. Mais ma question est vraiment, est-ce comment cela fonctionne dans LinqToEntities? Il me semble que c'est beaucoup plus compliqué que de simplement lui donner une clé étrangère (c'est-à-dire myProduct.CategoryID = categoryid).
Si j'ai 5 clés étrangères dans une table, je vais devoir récupérer 5 objets pour les relier?
Je peux voir comment faire ce qui précède pourrait avoir du sens et avoir des avantages, mais ne voit pas l'avantage si vous essayez juste d'ajouter 1 enregistrement à la base de données qui a une clé étrangère dans une autre table.