Lingua

RelationalDbContextOptionsBuilder<TBuilder,TExtension>.TranslateParameterizedCollectionsToConstants Metodo

Definizione

Attenzione

Use UseParameterizedCollectionMode instead.

Configura il contesto per convertire le raccolte con parametri in costanti inline.

[System.Obsolete("Use UseParameterizedCollectionMode instead.")]
public virtual TBuilder TranslateParameterizedCollectionsToConstants();
public virtual TBuilder TranslateParameterizedCollectionsToConstants();
[<System.Obsolete("Use UseParameterizedCollectionMode instead.")>]
abstract member TranslateParameterizedCollectionsToConstants : unit -> 'Builder
override this.TranslateParameterizedCollectionsToConstants : unit -> 'Builder
abstract member TranslateParameterizedCollectionsToConstants : unit -> 'Builder
override this.TranslateParameterizedCollectionsToConstants : unit -> 'Builder
Public Overridable Function TranslateParameterizedCollectionsToConstants () As TBuilder

Valori restituiti

TBuilder
Attributi

Commenti

Quando una query LINQ contiene una raccolta con parametri, EF Core per impostazione predefinita viene convertito come più parametri SQL, se possibile. Ad esempio, in SQL Server, la query Where(b => ids.Contains(b.Id) LINQ viene convertita in WHERE [b].[Id] IN (@ids1, @ids2, @ids3).

TranslateParameterizedCollectionsToConstants() indica a EF di convertire la raccolta in un set di costanti: WHERE [b].[Id] IN (1, 2, 3). Ciò può produrre piani di query migliori per determinati tipi di query, ma può anche causare un aumento del piano di query.

Si noti che è possibile che Entity Framework traduca una raccolta specifica in una query specifica in costanti eseguendo il wrapping della raccolta con parametri in Constant<T>(T): Where(b => EF.Constant(ids).Contains(b.Id). In questo modo viene eseguito l'override del valore predefinito.

Si applica a