query entity data model entity client

This example queries all the customers data using Entity Client. In the below articles

Querying Entity Data Model with Object services and Entity SQL
Query Entity Data model using LINQ to Entities

we have written queries based on LINQ to entities and Entity SQL. There is third way to query the Entity Data Model (EDM) using the Entity Client. Entity Client differs form the above two methods in what it returns. It does not return objects but returns data as rows and columns as in ADO.NET.

EntityConnection and Connection string

EntityConnection provides a connection to the EDM. The EntityConnection string includes pointers to the EDM XML metadata file and a datbase comnnection string.

EntityConnection Class Contains a reference to a conceptual model and a data source connection. This class cannot be inherited.

App.config file

< ?xml version="1.0" encoding="utf-8" ?>
< configuration>
  < connectionStrings>
    
  < /connectionStrings>
< /configuration>

Entitycommand

Entitycommand class represents a command to be executed against an Entity Data Model (EDM). Instantiating Entitycommand includes creating a command and setting the command text. This command text is written in Entity SQL.

ExecuteReader

Reads a forward-only stream of rows from a data source. An EntityDataReader has no public constructor. It can only be obtained through one of the EntityCommand.ExecuteReader method overloads.

using (EntityConnection conn = new EntityConnection("name=SalesOrderManagementEntities"))
{
	conn.Open();
	var querystring = "SELECT VALUE Customer FROM SalesOrderManagementEntities.Customer AS Customer";
	EntityCommand cmd = conn.CreateCommand();
	cmd.CommandText = querystring;
	EntityDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
	while (rdr.Read())
	{
		for (int i = 0; i < rdr.FieldCount; i++)
		Console.Write(rdr.ToString() + "\t");
		Console.WriteLine();
	}
	conn.Close();
}