2009-08-14 6 views
2

Ich habe einige Ansichten, die ich in meiner Linq2Sql-DBML-Datei zusammen beziehen möchte.Warum werden meine manuell erstellten Linq2Sql-Tabellenbeziehungen im Code angezeigt?

Ich habe rechts geklickt, ausgewählt „Add Verein“ und erstellt manuell die Verbände von den Kindern zu den Eltern, zum Beispiel:

Customer.TypeId -> CustomerTypes.Id 

Aber ich kann in meinem Code nicht tun:

from c in Customers select c.Type.Name 

Irgendwelche Hinweise? Wenn die Beziehungen in der Datenbank existieren, was sie nicht tun und nicht können, dann wäre ich dazu in der Lage.

Antwort

2

Das ist bizarr; Ich erinnere mich, dass ich die Antwort geschrieben habe, die ich mir hier ausgedacht habe!

Grundsätzlich ist das Problem war, dass, weil ich bei Views auf Tabellen im Gegensatz anschaute, und versuche, sie zusammen in der DBML Datei zu beziehen, sie offensichtlich nicht Primärschlüssel haben. Sobald ich Linq2Sql gesagt hatte, welche Spalten die Primärschlüssel waren, war es ein glücklicher Chappy!

0

Ich habe gerade versucht, die gleiche Sache und die Abfrage war nur möglich, wenn ich die Lösung, die die Linq-to-SQL-dbml Datei enthielt wieder aufgebaut hatte. Haben Sie die Lösung nach der Änderung der Beziehungen neu erstellt?

Dies wurde allerdings mit zwei Tabellen getan, lassen Sie mich zwei Ansichten verbinden, und ich werde diese Antwort mit den Ergebnissen

EDIT bearbeiten: Ok, dass saugt, das ist nur eine Blick Assosiation auf einer LinqToSql Abfrage setzen fragt in Die Datenbank funktioniert nicht. Sie können jedoch einen Join in Ihrer linq-Abfrage angeben. Leider ist es wie Doppelarbeit, die es auf der DBML-Datei und in Ihrem Code spezifiziert, aber wenn Sie nur einige Kommentare dort setzen, werden Leute verstehen, warum Sie es getan haben.

So zumindest auf der DBML Datei, die „Join“ ist für andere sichtbar.

Verwandte Themen