Hallo,
ich versuche mich derzeit in den ersten Schritten mit einer Silverlight Business Apllication. Ich habe mir hierfür eine klassische Datenbasis zusammengestellt, also u.a. Tabellen für Firma, Mitarbeiter, Produkte, Lagermengen. Die sind auf einem
MySQL-Server, allerdings ohne Fremdschlüssel-Constraints, die habe ich aber in meinem Modell (edmx-File) definiert. Nun versuche ich, eine Liste der Produkte zu erzeugen, die auch Daten aus anderen Tabellen als der Produkt-Tabelle anzeigt, z.B. den Namen
der herstellenden Firma. Die Klasse dafür sieht so aus:
Partial Public Class ProduktSummary
<Key()>
<Editable(False)>
Public Property id As Long
Public Property bezeichnung As String
Public Property hersteller As String
Public Property lagermenge As Long
End Class
Der Aufruf zum Generieren der Liste ist
Public Function GetProduktUebersicht() As IQueryable(Of ProduktSummary)
Return From p In ctx.Produkte
Select New ProduktSummary With { _
.id = p.id, _
.bezeichnung = p.bezeichnung, _
.hersteller = p.Firma.bezeichnung} ', _
'.lagermenge = p.lagermengen.Sum(Function(pi) pi.menge)}
End Function
Allerdings erhalte ich dabei die Fehlermeldung "unknown column extent1.firma_id_firma". Diese Meldung kommt halt auch nur, wenn ich von p (Produkt) aus auf andere Entitäten (wie den Hersteller) zugreife. Ich vermute, dass mit dem FK etwas nicht stimmt.
Nur was? Eine Spalte firma_id_firma gibt's eigentlich auch gar nicht, es gibt id_firma in Tabelle Firma (PK) sowie in Tabelle Produkt. Nur wird in letzterer für den FK-Constraint noch diese firma_id_firma angelegt. Weiß nicht genau, weshalb eigentlich,
da ja alle Informationen auch ohne diese vorhanden sind. Scheint aber so sein zu müssen.
Weshalb kriege ich diese Fehlermeldung? Was habe ich falsch gemacht bzw. vergessen? IntelliSense zeigt keine Fehler an, insofern sollten doch die Klassen und Eigenschaften bekannt sein.
Bin für jeden Tipp dankbar ...
Dave