Dans la capture d'écran ci-dessous est une entité (URL) dans mon modèle. Le champ ParentId est un FK autoréférencé (pointe vers Url.Id). Vous pouvez voir cette navigation au bas de la capture d'écran.Auto-Référencement FK générant étrangement
Dans mon SQL et mon DB, que je produis le EDMX de l'auto-référencement FK est appelé FK_Urls_Parent:
-- Creating foreign key on [ParentId] in table 'Urls'
ALTER TABLE [Urls]
ADD CONSTRAINT [FK_Urls_Parent]
FOREIGN KEY ([ParentId])
REFERENCES [Urls]
([Id])
ON DELETE NO ACTION ON UPDATE NO ACTION;
Mes questions sont les suivantes:
- Pourquoi EF a-t-il généré Urls1 et Url1 juste à partir de ce FK? Url1 est une propriété 0 ou 1 qui est 'FromRole' Urls1. Urls1 est Urls1 de "Url" de Urls1. Il semble que EF crée une propriété de navigation identique à la table Url. Pourquoi le ferait-il et puis-je faire quelque chose pour le faire juste générer la propriété de navigation désirée: Urls1?
- D'accord, ce n'est pas aussi important, mais puis-je contrôler le nom de la propriété Navigation en fonction du nom FK ou de quelque chose dans la base de données? Je déteste que ça l'appelle 'Url1'. Je préférerais 'Parent', mais je ne veux pas avoir à le changer manuellement dans le concepteur chaque fois que je régénère le modèle.
Merci.
Ce serait ChildUrls car une entité parentale unique a une pluralité d'enfants. –
@Hightechrider Bien sûr. Fixé. – jdmichal
Merci beaucoup d'avoir expliqué! – Chad