verwendetes Datenbanksystem: Microsoft SQL Compact 3.5
Hi,
wie ist das eingentlich mit den Datentypen ?
Ich kann immer eine max. Länge von 4000 für eine Spalte angeben.
Wenn ich jetzt ein nvchar(4000) erstelle heist das ich nur 4000
Zeichen in der Spalte speichern kann ? Wie ist das mit Image, da ist nur 16 erlaubt .Von was 16 ? Oder der Typ Binary. Da reichen wohl kaum 8000 Bytes für eine Spalte.
Auserdem habe ich 2 Tabellen
<TABELLE1>
ID
TEXT
<TABELLE2>
ID
IMAGE
ID_TABLE1
Ich möchte später in einen Gridview einen Text mit mehren Bildern dazu anzeigen.
Wie muss ich die beziehung mit Microsoft Entity erstellen ?
ID_TABLE1(TABELLE2)->ID(TABELLE1)
Hi,
die Binarytypen, etc. erlauben wirklich nicht mehr.
Image kann mehr 😉 http://msdn.microsoft.com/en-us/library/ms172424.aspx
Was bitte meinst du mit wie ?!? Im Visual Studio - Tabellendesigner - Kontextmenü - Beziehungen ?
Gruß und Guten Morgen
Achim
Hallo,
Du redest vom Entity Framework, oder? Konnte mir nichts unter Microsoft Entity vorstellen.
Wenn Du die Relationen in der Datenbank erstellt hast (und diese sollten auf jeden Fall dort erstellt werden) und die Tabellen als Entitäten ins Modell übernimmst werden die Relationen zwischen den Tabellen automatisch vom Framework abgebildet.
Mit den Bildern: Ich würde wahrscheinlich das Bild nicht als Blob in der DB speichern, sondern nur den Link zu dem Bild. Es könnte sonst einfach mal lange dauern, das Bild zu speichern oder zu laden und wieder in ein Bild umzuwandeln.
LG, Marko
Mit den Bildern: Ich würde wahrscheinlich das Bild nicht als Blob in der DB speichern, sondern nur den Link zu dem Bild. Es könnte sonst einfach mal lange dauern, das Bild zu speichern oder zu laden
Dafür bietet das EF das TableSplitting an. Wurde zum Beispiel hier angesprochen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für eure Antworten. Ich mache jetzt die Beziehungen direkt in der Datenbank. Komme trotzdem nicht vorwärts.
public class
{
string Vorname;
string Nachname;
bitmap[] Bilder;
}
Da es mehrere Bilder sind kann ich keine Tabelle erstellen die so aussieht.
Vorname (type nvchar)
Nachname (type nvchar)
Bilder (type image) das geht nicht es sind ja mehrere Bilder
Also habe ich mir gedacht ich mache 2 Tabellen
TABELLE 1
Vorname (type nvchar)
Nachname (type nvchar)
TABELLE 2
Bild
So dann habe ich versucht eine Beziehung hinzufügen.
Recht Maustaste auf Tabelle mit Vorname, Nachname | Tabelleneigenschaften | Beziehung hinzufügen.
Regel aktualisieren = NO ACTION
Regel löschen = NO ACTION
Primärschlüsselspalte = ID
Fremdschlüsselspalte = ??? Es sind mehre Bilder also auch mehrere Fremdschlüssel oder ??
Wenn es pro Person mehrere Bilder geben soll, dann ist es schon richtig, das Ganze in 2 Tabellen aufzuteilen.
Du schreibst auch daß Du irgendwo eine "Primärschlüsselspalte = ID" hast, aber aus Deinem Text geht nicht hervor in welcher Tabelle die ist.
Es sollte eigentlich so aussehen: Deine Personentabelle braucht einen eindeutigen Schlüssel, auf den in der Bildertabelle verwiesen wird.
PersonId (Primärschlüssel)
Vorname
Nachname
BildId (Primärschlüssel)
PersonId (Fremdschlüssel)
Bild
ok...
die Primärschlüsselspalte lege ich eingentlich immer an. Wollte die Beziehung bei der Personentabelle hinzufügen. Das war mein Fehler.
danke