Entity Framework-Anbieter (WCF Data Services)
Genau wie WCF Data Services basiert das ADO.NET Entity Framework auf dem Entity Data Model, einem Typ von Entitätsbeziehungsmodell. Das Entity Framework übersetzt Vorgänge für die Implementierung von Entity Data Model, das als konzeptionelles Modell bezeichnet wird, in entsprechende Vorgänge für eine Datenquelle. Daher ist das Entity Framework ein idealer Anbieter für Datendienste, die auf relationalen Daten basieren, und jede Datenbank mit einem Datenanbieter, der das Entity Framework unterstützt, kann mit WCF Data Services verwendet werden. Eine Liste der Datenquellen, die gegenwärtig das Entity Framework unterstützen, finden Sie unter Third-Party Providers for the Entity Framework (in englischer Sprache).
In einem konzeptionellen Modell ist der Entitätscontainer der Stamm des Diensts. Sie müssen in Entity Framework ein konzeptionelles Modell definieren, bevor die Daten von einem Datendienst verfügbar gemacht werden können. Das Entity Framework stellt Tools für das automatische Erstellen einer Objektebene entsprechend dem konzeptionellen Modell zur Verfügung. Die Objektebene schließt Entitätstypen und eine Containerklasse ein, die von der ObjectContext-Klasse stammt. Die Containerklasse verfügt in der Regel auch über Entitätenmengeneigenschaften, die eine IQueryable<T>-Auflistung von Entitäten des angegebenen Typs zurückgeben. Wenn Sie den Entity Framework-Anbieter verwenden, geben Sie einfach diese Containerklasse als Typ des DataService<T> an, von dem sich der Datendienst ableitet, wie im folgenden Beispiel für einen Northwind-Datendienst.
Public Class Northwind
Inherits DataService(Of NorthwindEntities)
public class Northwind : DataService<NorthwindEntities>
Weitere Informationen finden Sie unter Gewusst wie Erstellen eines Datendiensts mit einer ADO.NET Entity Framework-Datenquelle (WCF Data Services).
Die Code First-Funktion von Entity Framework wurde in Entity Framework 4.1 eingeführt. Wenn Sie Code First verwenden, um das Datenmodell zu definieren, definieren Sie eine Kontextklasse, die sich statt von der ObjectContext-Klasse von der DbContext-Klasse ableitet. Eine DbContext-Instanz kann auch als Typ des DataService<T> verwendet werden, von dem Ihr Datendienst abgeleitet wird.
WCF Data Services unterstützt das Modell vollständiger Parallelität, indem es Ihnen das Definieren eines Parallelitätstokens für eine Entität ermöglicht. Dieses Parallelitätstoken, das eine oder mehrere Eigenschaften der Entität beinhaltet, wird vom Datendienst verwendet, um zu bestimmen, ob eine Änderung in den angeforderten, aktualisierten oder gelöschten Daten aufgetreten ist. Wenn Tokenwerte, die vom eTag in der Anforderung abgerufen wurden, sich von den aktuellen Werten der Entität unterscheiden, löst der Datendienst eine Ausnahme aus. Um anzugeben, dass eine Eigenschaft Teil des Parallelitätstokens ist, müssen Sie das Attribut ConcurrencyMode="Fixed" im vom Entity Framework-Anbieter definierten Datenmodell anwenden. Im Parallelitätstoken darf keine Schlüsseleigenschaft oder Navigationseigenschaft enthalten sein. Weitere Informationen finden Sie unter Aktualisieren des Datendiensts WCF Data Services.
Weitere Informationen über Entity Framework finden Sie unter Entity Framework Overview.
Siehe auch
Konzepte
Datendienstanbieter (WCF Data Services)