共用方式為


DbSet.SqlQuery(String, Object[]) 方法

定義

建立原始 SQL 查詢,此查詢將會傳回此集合中的實體。 根據預設,傳回的實體會由內容追蹤;您可以藉由在傳回的 DbRawSqlQuery 上呼叫 AsNoTracking 來變更。 請注意,傳回的實體一律屬於此集合的類型,且永遠不會屬於衍生型別。 如果查詢的資料表可能包含其他實體型別的資料,則必須適當地撰寫 SQL 查詢,以確保只會傳回正確型別的實體。

如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。 上下文。設定 (typeof (Blog) ) 。SqlQuery (「SELECT * FROM dbo.貼文 WHERE Author = @p0 「, userSuppliedAuthor) ;或者,您也可以建構 DbParameter,並將其提供給 SqlQuery。 這可讓您在 SQL 查詢字串中使用具名參數。 上下文。設定 (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 ,會在列舉查詢時執行查詢。

適用於