Share via


Database.SqlQuery 方法 (Type, String, Object[])

[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]

建立原始 SQL 查詢,此查詢將會傳回給定類型的項目。 此類型可以是擁有屬性的任何類型 (這些屬性符合從查詢傳回的資料行名稱) 或者可以是簡單基本類型。 此類型不必是實體類型。 此內容絕對不會追蹤此查詢的結果,即使傳回之物件的類型為實體類型亦然。 使用 SqlQuery(String, Object[]) 方法可傳回此內容所追蹤的實體。 如同所有接受 SQL 的應用程式開發介面,任何使用者輸入都務必進行參數化以防範 SQL 插入式攻擊。 您可在 SQL 查詢字串中加入參數預留位置,然後再以其他引數提供參數值。 您所提供的任何參數值都將自動轉換為 DbParameter。 context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor)。或者,您也可以建構 DbParameter 再將其提供給 SqlQuery。 如此您便能在 SQL 查詢字串中使用具名參數。 context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

命名空間:  System.Data.Entity
組件:  EntityFramework (在 EntityFramework.dll 中)

語法

'宣告
Public Function SqlQuery ( _
    elementType As Type, _
    sql As String, _
    ParamArray parameters As Object() _
) As DbRawSqlQuery
'用途
Dim instance As Database 
Dim elementType As Type 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As DbRawSqlQuery 

returnValue = instance.SqlQuery(elementType, _
    sql, parameters)
public DbRawSqlQuery SqlQuery(
    Type elementType,
    string sql,
    params Object[] parameters
)
public:
DbRawSqlQuery^ SqlQuery(
    Type^ elementType, 
    String^ sql, 
    ... array<Object^>^ parameters
)
member SqlQuery : 
        elementType:Type * 
        sql:string * 
        parameters:Object[] -> DbRawSqlQuery
public function SqlQuery(
    elementType : Type, 
    sql : String, 
    ... parameters : Object[]
) : DbRawSqlQuery

參數

  • elementType
    類型:System.Type
    查詢傳回之物件的類型。
  • parameters
    類型:System.Object[]
    要套用至 SQL 查詢字串的參數。 如果使用了輸出參數,在完全讀取結果之前,這些參數的值將無法使用。 這是由於 DbDataReader 的基礎行為所造成,請參閱 https://go.microsoft.com/fwlink/?LinkID=398589 以取得詳細資料。

傳回值

類型:System.Data.Entity.Infrastructure.DbRawSqlQuery
將在列舉時執行查詢的 DbRawSqlQuery 物件。

請參閱

參考

Database 類別

SqlQuery 多載

System.Data.Entity 命名空間