DataContext.GetCommand(IQueryable) Method

Definition

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

C#
public System.Data.Common.DbCommand GetCommand(System.Linq.IQueryable query);

Parameters

query
IQueryable

The query whose SQL command information is to be retrieved.

Returns

The requested command information object.

Examples

C#
// 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();

Remarks

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.

Applies to

Product Versions
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1