Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Das AWS SDK for .NET bietet ein Objektpersistenzmodell, mit dem Sie Ihre clientseitigen Klassen Amazon DynamoDB-Tabellen zuordnen können. Die einzelnen Objekt-Instances werden anschließend einem Element in den entsprechenden Tabellen zugeordnet. Zum Speichern der clientseitigen Objekte in den Tabellen stellt das Object-Persistence-Modell die Klasse DynamoDBContext
bereit, einen Eintrittspunkt für DynamoDB. Mit dieser Klasse verfügen Sie über eine Verbindung zu DynamoDB, können auf Tabellen zugreifen und verschiedene CRUD-Operationen sowie Abfragen ausführen.
Das Object Persistence-Modell stellt eine Reihe von Attributen bereit, mit deren Hilfe clientseitige Klassen den Tabellen zugeordnet und Eigenschaften/Felder den Tabellenattributen zugeordnet werden können.
Anmerkung
Das Object Persistence-Modell stellt keine API zum Erstellen, Aktualisieren oder Löschen von Tabellen bereit. Es stellt ausschließlich Datenoperationen bereit. Sie können nur die AWS SDK for .NET Low-Level-API verwenden, um Tabellen zu erstellen, zu aktualisieren und zu löschen.
Das folgende Beispiel zeigt, wie das Object Persistence-Modell funktioniert. Es wird mit der Tabelle ProductCatalog
gestartet. Es besitzt Id
als Primärschlüssel.
ProductCatalog(Id, ...)
Angenommen, Sie besitzen die Klasse Book
mit den Eigenschaften Title
, ISBN
und Authors
. Sie können die Klasse Book
der Tabelle ProductCatalog
zuordnen, indem Sie die durch das Object Persistence-Modell definierten Attribute hinzufügen wie im folgenden C#-Codeausschnitt gezeigt.
Beispiel
[DynamoDBTable("ProductCatalog")]
public class Book
{
[DynamoDBHashKey]
public int Id { get; set; }
public string Title { get; set; }
public int ISBN { get; set; }
[DynamoDBProperty("Authors")]
public List<string> BookAuthors { get; set; }
[DynamoDBIgnore]
public string CoverPage { get; set; }
}
Im vorherigen Beispiel ordnet das Attribut DynamoDBTable
die Klasse Book
der Tabelle ProductCatalog
zu.
Das Object Persistence-Modell unterstützt die explizite und das Standardmapping zwischen Klasseneigenschaften und Tabellenattributen.
-
Explizites Mapping – Um eine Eigenschaft einem Primärschlüssel zuzuordnen, müssen Sie die
DynamoDBHashKey
- undDynamoDBRangeKey
-Attribute des „Object-Persistence“-Modells verwenden. Außerdem gilt für andere als Primärschlüsselattribute, dass Sie das Mapping durch explizites Hinzufügen des AttributsDynamoDBProperty
definieren müssen, wenn der Name einer Eigenschaft in Ihrer Klasse und des Tabellenattributs, dem Sie diese zuordnen möchten, nicht identisch sind.Im vorherigen Beispiel werden die Eigenschaft
Id
dem Primärschlüssel mit dem gleichen Namen und die EigenschaftBookAuthors
dem AttributAuthors
in der TabelleProductCatalog
zugeordnet. -
Standard-Mapping – Standardmäßig ordnet das „Object Persistence“-Modell die Klasseneigenschaften den Attributen mit identischem Namen in der Tabelle zu.
Im vorherigen Beispiel werden die Eigenschaften
Title
undISBN
den Attributen mit den gleichen Namen in der TabelleProductCatalog
zugeordnet.
Sie müssen nicht jede einzelne Klasseneigenschaft zuordnen. Sie erkennen diese Eigenschaften, indem Sie das DynamoDBIgnore
-Attribut hinzufügen. Wenn Sie eine Book
-Instance in die Tabelle hochladen, enthält der DynamoDBContext
nicht die CoverPage
-Eigenschaft. Diese Eigenschaft wird auch nicht zurückgegeben, wenn Sie die Book-Instance abrufen.
Sie können Eigenschaften von primitiven .NET-Typen wie „int“ und „string“ zuweisen. Sie können auch beliebige Datentypen zuordnen, solange Sie einen geeigneten Konverter bereitstellen, um diese Datentypen einem DynamoDB-Datentyp zuzuordnen. Weitere Informationen zum Mapping beliebiger Datentypen finden Sie unter Zuordnen beliebiger Daten mit DynamoDB mithilfe des AWS SDK for .NET Objektpersistenzmodells.
Das Object Persistence-Modell unterstützt die optimistische Sperre. Während einer Aktualisierung stellt diese Funktion sicher, dass Sie über die neueste Kopie des zu aktualisierenden Elements verfügen. Weitere Informationen finden Sie unter Optimistisches Sperren mit DynamoDB und dem AWS SDK for .NET Objektpersistenzmodell.
Weitere Informationen finden Sie in den folgenden Themen.
Themen
Unterstützte Datentypen
Das Object Persistence-Modell unterstützt eine Reihe primitiver .NET-Datentypen, Sammlungen sowie beliebiger Datentypen. Das Modell unterstützt die folgenden primitiven Datentypen.
-
bool
-
byte
-
char
-
DateTime
-
decimal
-
double
-
float
-
Int16
-
Int32
-
Int64
-
SByte
-
string
-
UInt16
-
UInt32
-
UInt64
Das Objektpersistenzmodell unterstützt auch die.NET-Sammlungstypen. DynamoDBContext
ist in der Lage, konkrete Sammlungstypen und einfache Plain Old CLR-Objekte () POCOs zu konvertieren.
In der folgenden Tabelle ist das Mapping der vorhergehenden .NET-Typen zu den DynamoDB-Typen zusammengefasst.
.NET-primitiver Typ | DynamoDB-Typ |
---|---|
Alle Zahlentypen |
|
Alle Zeichenfolgetypen |
|
MemoryStream, Byte [] |
|
bool | N (Zahlentyp) 0 repräsentiert False und 1 steht für True. |
Sammlungstypen | BS -(Binärsatz)-Typ, SS -(Zeichenfolgesatz)-Typ und NS -(Zahlensatz)-Typ. |
DateTime | S (Zeichenfolgetyp). Die DateTime -Werte werden als ISO-8601-formatierte Zeichenfolgen gespeichert. |
Das Object Persistence-Modell unterstützt außerdem beliebige Datentypen. Allerdings müssen Sie einen Konverter-Code bereitstellen, um die komplexen Typen den DynamoDB-Typen zuzuordnen.
Anmerkung
-
Leere Binärwerte werden unterstützt.
-
Das Lesen von leeren Zeichenfolgenwerten wird unterstützt. Leere Zeichenfolgen-Attributwerte werden beim Schreiben zu DynamoDB in Attributwerten vom Typ Zeichenfolgensatz unterstützt. Leere Zeichenfolgen-Attributwerte des Zeichenfolgentyps und leere Zeichenfolgenwerte innerhalb des Listen- oder Map-Typs werden aus Schreibanforderungen gelöscht.