DataContext.GetCommand Method (IQueryable)

 

Gets the information about SQL commands generated by LINQ to SQL.

Namespace:   System.Data.Linq
Assembly:  System.Data.Linq (in System.Data.Linq.dll)

public DbCommand GetCommand(
	IQueryable query
)

Parameters

query
Type: System.Linq.IQueryable

The query whose SQL command information is to be retrieved.

Return Value

Type: System.Data.Common.DbCommand

The requested command information object.

This method is only a getter and does not affect DataContext state.

Note the following considerations:

  • The argument must be non-null. Otherwise, a null argument exception is thrown.

  • Normal query translation exceptions thrown during LINQ to SQL query execution apply for a query that cannot be translated.

  • Only the first query command is returned. Specifically, additional commands that are used for eager loading (LoadWith) are not included.

  • DataContext does not track what the user does with the command. For example, results from the execution of the returned command are not tracked and do not affect DataContext state.

// using System.Data.Common;
Northwnd db = new Northwnd(@"c:\northwnd.mdf");

var q =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

Console.WriteLine("Customers from London:");
foreach (var z in q)
{
    Console.WriteLine("\t {0}",z.ContactName);
}

DbCommand dc = db.GetCommand(q);
Console.WriteLine("\nCommand Text: \n{0}",dc.CommandText);
Console.WriteLine("\nCommand Type: {0}",dc.CommandType);
Console.WriteLine("\nConnection: {0}",dc.Connection);

Console.ReadLine();

.NET Framework
Available since 3.5
Return to top
Show: