Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort zur 5. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Weitere .NET-Datentypen
7 Weitere Möglichkeiten von C#
8 Auflistungsklassen (Collections)
9 Fehlerbehandlung und Debugging
10 LINQ to Objects
11 Multithreading und die Task Parallel Library (TPL)
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 Einige wichtige .NET-Klassen
15 Projektmanagement und Visual Studio 2010
16 XML
17 WPF – Die Grundlagen
18 WPF-Containerelemente
19 WPF-Steuerelemente
20 Konzepte der WPF
21 Datenbindung
22 2D-Grafik
23 ADO.NET – verbindungsorientierte Objekte
24 ADO.NET – Das Command-Objekt
25 ADO.NET – Der SqlDataAdapter
26 ADO.NET – Daten im lokalen Speicher
27 ADO.NET – Aktualisieren der Datenbank
28 Stark typisierte DataSets
29 LINQ to SQL
30 Weitergabe von Anwendungen
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual C# 2010 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2010

Visual C# 2010
geb., mit DVD
1295 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1552-7
Pfeil 29 LINQ to SQL
Pfeil 29.1 Allgemeine Grundlagen
Pfeil 29.2 Objektzuordnung mit Entitätsklassen
Pfeil 29.3 Mapping von Objekten
Pfeil 29.3.1 Das »Table«-Attribut
Pfeil 29.3.2 Das »Column«-Attribut
Pfeil 29.4 Verknüpfungen zwischen Entitäten
Pfeil 29.4.1 Der Typ »EntityRef<T>«
Pfeil 29.4.2 Verzögertes Laden
Pfeil 29.4.3 Der Typ »EntitySet<T>«
Pfeil 29.4.4 Ein weiteres Beispiel
Pfeil 29.4.5 Sofortiges Laden der Daten
Pfeil 29.5 Tools zur Erzeugung von Entitätsklassen
Pfeil 29.6 Die Klasse »DataContext«
Pfeil 29.6.1 Verbindungsaufbau
Pfeil 29.6.2 Daten abfragen
Pfeil 29.6.3 Von einer LINQ-Abfrage erzeugtes SQL-Statement ausgeben
Pfeil 29.6.4 Aktualisieren der Daten
Pfeil 29.6.5 Konflikte behandeln
Pfeil 29.7 Der LINQ to SQL-Designer (O/R-Designer)
Pfeil 29.7.1 Handhabung des O/R-Designers
Pfeil 29.7.2 Die abgeleitete »DataContext«-Klasse
Pfeil 29.7.3 Entitätsklassen


Galileo Computing - Zum Seitenanfang

29.2 Objektzuordnung mit Entitätsklassen topZur vorigen Überschrift

Das Ergebnis einer Datenbankabfrage ist eine mehr oder minder große Menge gleich strukturierter Datensätze. Beim Mapping wird eine Datenbanktabelle auf einer Entitätsklasse abgebildet. Die Information, um welche Tabelle es sich dabei handelt, beschreibt ein Attribut, das der Klassendefinition vorangestellt wird.

Um die Spalten einer Datenbanktabelle abzubilden, wird jede gewünschte Spalte in der Entitätsklasse üblicherweise durch ein privates Feld und eine öffentliche Eigenschaft beschrieben. Folgerichtig steht eine Instanz der Entitätsklasse demnach für genau einen Datensatz. Da in der Regel mehrere Datensätze vorliegen, wundert es nicht, dass die gesamte Ergebnismenge von einer Auflistung verwaltet wird.

Ein Datensatz setzt sich normalerweise aus mehreren Feldern zusammen, die als Eigenschaften innerhalb der Entitätsklasse beschrieben werden. Datenbankfelder haben eigene Eigenschaften. Beispielsweise wird mindestens eine Spalte einer Tabelle als Primärschlüsselspalte definiert, andere Spalten dürfen keine NULL-Werte haben. Zur Beschreibung dieser Metadaten sind Attribute ein wichtiges Hilfsmittel.

Der folgende C#-Code zeigt die Entitätsklasse Product, die die Tabelle Products der Northwind-Datenbank beschreibt. Der Code ist nicht vollständig wiedergegeben. Er soll nur dazu dienen, Ihnen eine Vorstellung davon zu vermitteln, wie die Definition einer Entitätsklasse aussieht.


[Table(Name="dbo.Products")]
public class Product {
  private int _ProductID;
  private string _ProductName;
  private System.Nullable<decimal> _UnitPrice;
  private System.Nullable<short> _UnitsInStock;
  [Column(Storage="_ProductID", AutoSync=AutoSync.OnInsert, 
          DbType="Int NOT NULL IDENTITY", 
          IsPrimaryKey=true, IsDbGenerated=true)]
  public int ProductID {
    get {
      return this._ProductID;
    }
    set {
      if ((this._ProductID != value)) {
        this._ProductID = value;
      }
    }
  }
  [Column(Storage="_ProductName", DbType="NVarChar(40) NOT NULL", 
          CanBeNull=false)]
  public string ProductName {
    get {
      return this._ProductName;
    }
    set {
      if ((this._ProductName != value)) {
        this._ProductName = value;
      }
    }
  }
  [Column(Storage="_UnitPrice", DbType="Money")]
  public System.Nullable<decimal> UnitPrice {
    get {
      return this._UnitPrice;
    }
    set {
      if ((this._UnitPrice != value)) {
        this._UnitPrice = value;
      }
    }
  }
  [Column(Storage="_UnitsInStock", DbType="SmallInt")]
  public System.Nullable<short> UnitsInStock {
    get {
      return this._UnitsInStock;
    }
    set {
      if ((this._UnitsInStock != value)) {
        this._UnitsInStock = value;
      }
    }
  }
}



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2010

Visual C# 2010
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: C/C++






 C/C++


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2010
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern