Ich habe ein Problem mit der Suche nach, wie die folgende Art der Assoziation zu erklären:Fremdschlüssel auf einem Teil des Verbund PK
sagen, dass ich eine Tabelle „Weekly“ als solche haben:
Weekly {
Id : Int <= PK
Week : Int
Year : Int
}
und einem Tisch "Monthly":
Monthly{
Id : Int <= PK
Month: Int
Year : Int
}
ich habe auch eine "WeekMonth" Table:
Monthly{
Week : Int <= PK
Month : Int <= PK
Year : Int <= PK
}
Wie ihr wahrscheinlich erraten habt, möchte ich die Weekly mit WeekMonth und Monthly auch mit WeekMonth verknüpfen können.
Allerdings kann ich nicht säumen, um dies zu tun: ein Fremdschlüssel auf einem Teil des zusammengesetzten Primärschlüssels. Dennoch sind in meiner Tabelle WeekMonth sowohl das Jahr und die Woche als auch das Jahr und das Monat-Feld eindeutig, so dass es funktionieren kann.
Ich habe mehrere approch für dieses Problem versucht, aber als die kundenspezifische Zuordnung der Woche pro Monat ist ein Business-Bedarf, ich ein bisschen mit ihm steckte
Angenommen, dies möglich war, überhaupt, würde es 4 oder 5 Datensätze in WeekMonth jeden Datensatz in Monat passend, so dass Sie würde den FK bitten, sich auf eine willkürliche PK zu beziehen. Wirklich brauchen Sie eine synthetische PK auf WeekMonth. –
In der 'WeekMonth' Tabelle sind' Week' die Werte '1' bis' 4' oder '5' für jeden Monat oder sind die Wochen nummeriert' 1' bis '52' oder' 53' für das Jahr? Wie entspricht die Spalte "Woche" in der Tabelle "Wöchentlich" diesem? – MT0
Während Sie in der Lage sein können, eine solche Beziehung in der Datenbank einzurichten, können Sie dies mit der aktuellen EF (6) nicht tun. Da EF in diesem Fall der Treiber ist, sollten Sie die Tags 'sql' und' oracle' aus der Frage entfernen. –