Lingua

RelationalDbContextOptionsBuilder<TBuilder,TExtension>.TranslateParameterizedCollectionsToParameters Metodo

Definizione

Attenzione

Use UseParameterizedCollectionMode instead.

Configura il contesto per convertire le raccolte con parametri in un singolo parametro simile a una matrice.

[System.Obsolete("Use UseParameterizedCollectionMode instead.")]
public virtual TBuilder TranslateParameterizedCollectionsToParameters();
public virtual TBuilder TranslateParameterizedCollectionsToParameters();
[<System.Obsolete("Use UseParameterizedCollectionMode instead.")>]
abstract member TranslateParameterizedCollectionsToParameters : unit -> 'Builder
override this.TranslateParameterizedCollectionsToParameters : unit -> 'Builder
abstract member TranslateParameterizedCollectionsToParameters : unit -> 'Builder
override this.TranslateParameterizedCollectionsToParameters : unit -> 'Builder
Public Overridable Function TranslateParameterizedCollectionsToParameters () 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).

TranslateParameterizedCollectionsToParameters() indica a EF di convertire la raccolta in un singolo parametro simile a una matrice: WHERE [b].[Id] IN (SELECT [i].[value] FROM OPENJSON(@ids) ...).

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

Si applica a