DbSet.SqlQuery(String, Object[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立一個原始 SQL 查詢,回傳此集合中的實體。 預設情況下,回傳的實體會由上下文追蹤;此設定可透過呼叫 AsNoTracking( DbRawSqlQuery 返回者)來更改。 請注意,回傳的實體總是該集合的型別,從不屬於導出型別。 如果查詢的表格可能包含其他實體類型的資料,則必須適當撰寫 SQL 查詢,以確保只回傳正確類型的實體。
和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。Set(typeof(Blog))。SqlQuery(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。Set(typeof(Blog))。SqlQuery(“SELECT * FROM dbo.文章 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));
public virtual System.Data.Entity.Infrastructure.DbSqlQuery SqlQuery(string sql, params object[] parameters);
abstract member SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery
override this.SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery
Public Overridable Function SqlQuery (sql As String, ParamArray parameters As Object()) As DbSqlQuery
參數
- sql
- String
SQL 查詢字串。
- parameters
- Object[]
這些參數要套用到 SQL 查詢字串。 若使用輸出參數,其值在結果完整讀取後無法取得。 這是因為 DbDataReader 的底層行為,詳情請見 http://go.microsoft.com/fwlink/?LinkID=398589 。
傳回
一個 DbSqlQuery 會在查詢被列舉時執行的物件。