DataContext.GetCommand(IQueryable) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得 LINQ to SQL 所產生的 SQL 命令相關信息。
public:
System::Data::Common::DbCommand ^ GetCommand(System::Linq::IQueryable ^ query);
public System.Data.Common.DbCommand GetCommand (System.Linq.IQueryable query);
member this.GetCommand : System.Linq.IQueryable -> System.Data.Common.DbCommand
Public Function GetCommand (query As IQueryable) As DbCommand
參數
- query
- IQueryable
會擷取內含 SQL 命令資訊的查詢。
傳回
要求的命令資訊物件。
範例
// 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();
' Imports System.Data.Common
Dim db As New Northwnd("c:\northwnd.mdf")
Dim q = _
From cust In db.Customers _
Where cust.City = "London" _
Select cust
Console.WriteLine("Customers from London:")
For Each z As Customer In q
Console.WriteLine(vbTab & z.ContactName)
Next
Dim dc As DbCommand = db.GetCommand(q)
Console.WriteLine(Environment.NewLine & "Command Text: " & Environment.NewLine & dc.CommandText)
Console.WriteLine(Environment.NewLine & "Command Type: {0}", dc.CommandType)
Console.WriteLine(Environment.NewLine & "Connection: {0}", dc.Connection)
Console.ReadLine()
備註
這個方法只是 getter,而且不會影響 DataContext 狀態。
請注意下列考量:
自變數必須是非 Null。 否則會擲回 Null 自變數例外狀況。
LINQ to SQL 查詢執行期間擲回的一般查詢轉譯例外狀況適用於無法翻譯的查詢。
只會傳回第一個查詢命令。 具體而言,不包含用於積極式載入 () LoadWith 的其他命令。
DataContext 不會追蹤使用者使用 命令執行的動作。 例如,不會追蹤傳回命令執行的結果,而且不會影響 DataContext 狀態。