RelationalDatabaseFacadeExtensions.SqlQuery<TResult> Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Ham SQL sorgusunu temel alan ve veritabanı sağlayıcısı tarafından yerel olarak desteklenen skaler türde bir sonuç kümesi döndüren bir LINQ sorgusu oluşturur.
public static System.Linq.IQueryable<TResult> SqlQuery<TResult>(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member SqlQuery : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function SqlQuery(Of TResult) (databaseFacade As DatabaseFacade, sql As FormattableString) As IQueryable(Of TResult)
Tür Parametreleri
- TResult
Parametreler
- databaseFacade
- DatabaseFacade
DatabaseFacade bağlam için.
Parametreleri olan bir SQL sorgusunu temsil eden ilişkilendirilmiş dize.
Döndürülenler
IQueryable<T> İlişkili dize SQL sorgusunu temsil eden.
Açıklamalar
Bu yöntemi veritabanı sağlayıcısı tarafından yerel olarak desteklenmeyen bir dönüş türüyle kullanmak için yöntemini kullanın DefaultTypeMapping<TScalar>(Action<TypeMappingConfigurationBuilder<TScalar>>) .
Döndürülen IQueryable<T> , daha karmaşık sorgular oluşturmak için LINQ kullanılarak oluşturulabilir.
Bu yöntemin bir işlem başlatmadığını unutmayın. Bu yöntemi bir işlemle kullanmak için, önce veya UseTransactionçağrısında bulunurBeginTransaction(DatabaseFacade, IsolationLevel).
SQL'i kabul eden herhangi bir API'de olduğu gibi, SQL ekleme saldırısına karşı koruma sağlamak için tüm kullanıcı girişlerini parametreleştirmek önemlidir. SQL sorgu dizesine parametre yer tutucuları ekleyebilir ve ardından parametre değerlerini ek bağımsız değişkenler olarak sağlayabilirsiniz. Sağladığınız tüm parametre değerleri otomatik olarak bir DbParameter'a dönüştürülür.
Daha fazla bilgi ve örnek için bkz. EF Core ile ham SQL komutlarını yürütme .