更新:2007 年 11 月
提供由 LINQ to SQL 產生之有關 SQL 命令的資訊。
命名空間:
System.Data.Linq 組件:
System.Data.Linq (在 System.Data.Linq.dll 中)
Public Function GetCommand ( _
query As IQueryable _
) As DbCommand
Dim instance As DataContext
Dim query As IQueryable
Dim returnValue As DbCommand
returnValue = instance.GetCommand(query)
public DbCommand GetCommand(
IQueryable query
)
public:
DbCommand^ GetCommand(
IQueryable^ query
)
public DbCommand GetCommand(
IQueryable query
)
public function GetCommand(
query : IQueryable
) : DbCommand
這個方法只是一種 getter,不會影響 DataContext 狀態。
請考量下列事項:
引數必須為非 null。否則會擲回 null 引數例外狀況。
在 LINQ to SQL 查詢執行期間所擲回的一般查詢轉譯例外狀況,適用於無法轉譯的查詢。
只會傳回第一個查詢命令。具體來說是不會包括用於急切載入的其他命令 (LoadWith)。
DataContext 不會追蹤使用者利用命令做了什麼。例如,不會追蹤所傳回命令的執行結果,也不會影響 DataContext 狀態。
' 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(vbNewLine & "Command Text: " & vbNewLine & dc.CommandText)
Console.WriteLine(vbNewLine & "Command Type: {0}", dc.CommandType)
Console.WriteLine(vbNewLine & "Connection: {0}", dc.Connection)
Console.ReadLine()
// 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();
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
.NET Framework
支援版本:3.5
參考