RelationalQueryableExtensions.FromSqlInterpolated<TEntity>(DbSet<TEntity>, FormattableString) Yöntem

Tanım

Bir linq sorgusunu temsil eden irdelenmiş dizeyi temel alan bir LINQ SQL oluşturur.

Veritabanı sağlayıcısı, sağlanan veri SQL destekliyorsa LINQ işleçlerini kullanarak ham SQL sorgunun üzerinde oluşturabilirsiniz:

context.Blogs.FromSqlInterpolated($"SELECT * FROM Blogs").OrderBy(b => b.Name)

Api'lerde olduğu gibi SQL ekleme saldırısına karşı korumak için tüm kullanıcı girişlerini parametre SQL önemlidir. İlişkili parametre yer tutucularını sorgu dizesinde SQL ebilirsiniz. İlişkili olarak temin edersiniz tüm parametre değerleri otomatik olarak bir değerine DbParameter dönüştürülür:

context.Blogs.FromSqlInterpolated($"SELECT * FROM Blogs WHERE Name = {userSuppliedSearchTerm}")
public static System.Linq.IQueryable<TEntity> FromSqlInterpolated<TEntity> (this Microsoft.EntityFrameworkCore.DbSet<TEntity> source, FormattableString sql) where TEntity : class;
static member FromSqlInterpolated : Microsoft.EntityFrameworkCore.DbSet<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSqlInterpolated(Of TEntity As Class) (source As DbSet(Of TEntity), sql As FormattableString) As IQueryable(Of TEntity)

Tür Parametreleri

TEntity

öğelerinin source türü.

Parametreler

source
DbSet<TEntity>

Sorguyu IQueryable<T> (genellikle bir ) ilişkilendirme dizesinin SQL olarak kullanmak için DbSet<TEntity> .

sql
FormattableString

Parametre içeren bir sorguyu SQL irdelenmiş dize.

Döndürülenler

IQueryable<TEntity>

İlişkili IQueryable<T> dizeyi temsil eden bir SQL sorgu.

Açıklamalar

Daha fazla bilgi için SQL ile ham EF Core komutlarını yürütme.

Şunlara uygulanır