RelationalDbContextOptionsBuilder<TBuilder,TExtension>.TranslateParameterizedCollectionsToParameters Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
- 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.