In der folgenden Screenshot ist eine Entity (URL) in meinem Modell. Das ParentId-Feld ist ein selbstreferenzierender FK (verweist auf Url.Id). Sie können diese Navigation am unteren Rand des Screenshots sehen.Self-Referencing FK Erzeugt strangly
In meinem SQL und meine DB, die ich die EDMX aus, die sich selbst verweis FK erzeugen wird FK_Urls_Parent genannt:
-- 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;
Meine Fragen sind:
- Warum hat EF URLs1 und URL1 nur von diesem einen FK generiert? Url1 ist eine 0 oder 1 Eigenschaft, die "FromRole" Urls1 ist. URLs1 ist 'FromRole' URLs 'ToRole' URLs1. Offenbar erstellt EF eine Navigationseigenschaft, die genau der URL-Tabelle entspricht. Warum sollte es das tun und kann ich etwas tun, damit es nur die eine gewünschte Navigationseigenschaft erzeugt: Urls1?
- Okay, also nicht ganz so wichtig, aber kann ich den Namen der Navigationseigenschaft basierend auf dem FK-Namen oder etwas in der DB steuern? Ich hasse es, dass es "Url1" genannt wird. Ich würde "Parent" bevorzugen, möchte es aber nicht jedes Mal, wenn ich das Modell neu generiere, im Designer manuell ändern müssen.
Danke.
Das wäre ChildUrls, da eine einzige übergeordnete Entität mehrere untergeordnete Elemente hat. –
@Hightechrider Natürlich. Fest. – jdmichal
Vielen Dank für die Erklärung! – Chad