2009-03-13 15 views
3

Im L2S-Designer habe ich eine Tabelle und eine Ansicht gelöscht. Ich habe versucht, eine Verbindung zwischen den 2 auf ihren Primärschlüsseln hinzuzufügen. Dies sollte eine Eins-zu-eins-Beziehung sein, also setze ich die Kardinalitätseigenschaft der Assoziation als solche.LINQ to SQL - Problem mit 1-zu-1-Zuordnung

Aber beim Codieren kann ich nicht auf die Kind-Eigenschaft zugreifen.

Irgendwelche Vorschläge?

Bearbeiten

Ich habe gerade eine Ansicht in SQL Server erstellt, die die Felder, die ich will, und löschte das in L2S. Viel einfacher.

+0

Konnten Sie den Code posten, den Sie verwenden, wird es Leuten einfacher machen, zu antworten. – Lazarus

+0

Sie wollen den L2s Designer Code? DBML XML? C# -Code verbraucht den Datenkontext? Das ist viel Code. –

Antwort

5

Meiner Erfahrung nach benötigt Linq To SQL die Primär/Fremdschlüssel-Beziehungen, die in der Datenbank festgelegt sind. Andernfalls müssen Sie eine Verknüpfung erstellen.

Nicht sicher, ob dies gilt für Ihre Situation, aber es kann ...

Linq To SQL Without Explicit Foreign Key Relationships

UPDATE:

Es scheint, dass Sie bekommen, was Sie suchen, ohne Festlegung die primären/Fremdschlüsselbeziehungen in der Datenbank. Setzen Sie im LinqToSQL-Designer Primärschlüssel für beide Spalten in jeder Tabelle. Ich musste auch Auto-Sync in der Spalte der übergeordneten Tabelle, die ich als Primärschlüssel zugewiesen hatte, abschalten.

Auto-Sync wird hier beschrieben. Weist die Common Language Runtime (CLR) an, den Wert nach einer Einfüge- oder Aktualisierungsoperation abzurufen.

-Link: http://msdn.microsoft.com/en-us/library/bb386971.aspx

0

Haben Sie die Kind- oder Elterneigenschaft deaktiviert (auf false gesetzt)?

Haben Sie die Eins-zu-Eins-Beziehung vielleicht falsch herum dargestellt (wie ich es vor weniger als einer Stunde getan habe)?

+0

Kind Eigenschaft ist wahr. Ich habe beide Objekte als Eltern versucht. –

+0

Suchen Sie in der Datei .designer nach der erwarteten Eigenschaft. Vielleicht haben Sie eine andere Eigenschaft, die kollidiert oder so ähnlich. – leppie

2

Wir hatten dieses Problem mit Aussicht. Wir haben einfach die Schlüssel im DBML-Editor definiert und die Eigenschaft wurde schließlich definiert.