RelationalDbContextOptionsBuilder<TBuilder,TExtension>.TranslateParameterizedCollectionsToParameters Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- 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.