Поделиться через


DbSetMigrationsExtensions.AddOrUpdate<TEntity> - метод (IDbSet<TEntity>, Expression<Func<TEntity, Object>>, TEntity[])

[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]

Добавляет или обновляет сущности с помощью пользовательского выражения идентификации при вызове метода SaveChanges. Эквивалент операции «upsert» из терминологии баз данных. Этот метод может оказаться полезным при заполнении данных с помощью переноса.

Пространство имен:  System.Data.Entity.Migrations
Сборка:  EntityFramework (в EntityFramework.dll)

Синтаксис

'Декларация
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
<ExtensionAttribute> _
Public Shared Sub AddOrUpdate(Of TEntity As Class) ( _
    set As IDbSet(Of TEntity), _
    identifierExpression As Expression(Of Func(Of TEntity, Object)), _
    ParamArray entities As TEntity() _
)
'Применение
Dim set As IDbSet(Of TEntity)
Dim identifierExpression As Expression(Of Func(Of TEntity, Object))
Dim entities As TEntity()

set.AddOrUpdate(identifierExpression, _
    entities)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public static void AddOrUpdate<TEntity>(
    this IDbSet<TEntity> set,
    Expression<Func<TEntity, Object>> identifierExpression,
    params TEntity[] entities
)
where TEntity : class
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
[ExtensionAttribute]
public:
generic<typename TEntity>
where TEntity : ref class 
static void AddOrUpdate(
    IDbSet<TEntity>^ set, 
    Expression<Func<TEntity, Object^>^>^ identifierExpression, 
    ... array<TEntity>^ entities
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
static member AddOrUpdate : 
        set:IDbSet<'TEntity> * 
        identifierExpression:Expression<Func<'TEntity, Object>> * 
        entities:'TEntity[] -> unit   when 'TEntity : not struct
JScript does not support generic types and methods.

Параметры типа

  • TEntity
    Тип сущностей, подлежащих добавлению или обновлению.

Параметры

  • identifierExpression
    Тип: System.Linq.Expressions.Expression<Func<TEntity, Object>>
    Выражение, указывающее свойства, которые следует использовать при определении необходимости выполнения операции добавления или обновления.
  • entities
    Тип: TEntity[]
    Добавляемые и обновляемые сущности.

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа IDbSet<TEntity>. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе https://msdn.microsoft.com/ru-ru/library/bb384936(v=vs.113) или https://msdn.microsoft.com/ru-ru/library/bb383977(v=vs.113).

Примечания

Если параметр set является реализацией пользовательского или фиктивного IDbSet, этот метод выполнит попытку поиска и вызова открытого метода экземпляра с той же сигнатурой, что и этот метод расширения.

См. также

Справочник

DbSetMigrationsExtensions Класс

AddOrUpdate - перегрузка

System.Data.Entity.Migrations - пространство имен