Share via


RelationalDbContextOptionsBuilder<TBuilder,TExtension>.TranslateParameterizedCollectionsToParameters Method

Definition

Caution

Use UseParameterizedCollectionMode instead.

Configures the context to translate parameterized collections to a single array-like parameter.

[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

Returns

TBuilder
Attributes

Remarks

When a LINQ query contains a parameterized collection, by default EF Core translates as a multiple SQL parameters, if possible. For example, on SQL Server, the LINQ query Where(b => ids.Contains(b.Id) is translated to WHERE [b].[Id] IN (@ids1, @ids2, @ids3).

TranslateParameterizedCollectionsToParameters() instructs EF to translate the collection to a single array-like parameter: WHERE [b].[Id] IN (SELECT [i].[value] FROM OPENJSON(@ids) ...).

Note that it's possible to cause EF to translate a specific collection in a specific query to parameter by wrapping the parameterized collection in Parameter<T>(T): Where(b => EF.Parameter(ids).Contains(b.Id). This overrides the default.

Applies to