Entity Framework Client Data Provider

Eintrag zuletzt aktualisiert am: 13.11.2014

Der ADO.NET Entity Client Data Provider (früher: Map Provider) ist ein ADO.NET-Datenbanktreiber vergleichbar mit SQL Client und Oracle Client. Der Entity Client (Namensraum System.Data.EntityClient) greift aber nicht direkt auf eine Datenbank zu, sondern auf ein Entity Data Model. Der Entity Client versteht nur eSQL. Das folgende Beispiel zeigt die Anwendung des Entity Clients zum Zugriff auf eine Tabelle. Über den Entity Client Provider kann man nur Daten lesen. Änderungen, Ergänzungen und Löschen sind nicht möglich!

String CS = @"metadata=res://*/EF.EFModell.csdl|res://*/EF.EF_Modell.ssdl|res://*/EF.EFModell.msl;
provider=System.Data.SqlClient;provider connection string='Data Source=.\sqlexpress;
Initial Catalog=WWWings6;Integrated Security=True;MultipleActiveResultSets=True'";
// ESQL-Befehl
string ESQL = @"SELECT value fl " +
"FROM WWWings6Entities.Flug AS fl " +
"WHERE fl.Abflugort = @Ort";
// Verbindung aufbauen
using (EntityConnection conn = new EntityConnection(CS))
{
conn.Open();
// Befehl ausführen
using (EntityCommand cmd = conn.CreateCommand())
{
cmd.CommandText = ESQL;
cmd.Parameters.AddWithValue("Ort", "Rom");
using (EntityDataReader f = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
{
// Schleife über alle Datensätze
while (f.Read())
{
Console.WriteLine("Flug Nr {0} von {1} nach {2} hat {3} freie Plätze!",
f["FlugNr"], f["Abflugort"], f["Zielort"], f["FreiePlaetze"]);
}
}
}
} // Ende using
Listing 1: Anwendung des Entity Clients zum Zugriff auf eine Tabelle