DbSetMigrationsExtensions.AddOrUpdate<TEntity> 方法 (IDbSet<TEntity>, Expression<Func<TEntity, Object>>, TEntity[])
[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]
呼叫 SaveChanges 時,按照自訂識別運算式加入或更新實體。 相當於資料庫術語中的「更新並插入」作業。 當您使用移轉來植入資料時,此方法就很有用。
命名空間: 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
要加入或更新的實體類型。
參數
- set
類型:System.Data.Entity.IDbSet<TEntity>
實體所屬的集合。
- identifierExpression
類型:System.Linq.Expressions.Expression<Func<TEntity, Object>>
運算式,它會指定用以判斷應該執行加入或更新作業的屬性。
- entities
類型:TEntity[]
要加入或更新的實體。
使用注意事項
在 Visual Basic 和 C# 中,您可以在任何 IDbSet<TEntity> 類型物件中呼叫這個方法以做為執行個體。使用執行個體方法語法呼叫這個方法時,請省略第一個參數。如需詳細資訊,請參閱 https://msdn.microsoft.com/zh-tw/library/bb384936(v=vs.113)或 https://msdn.microsoft.com/zh-tw/library/bb383977(v=vs.113)。
備註
當 set 參數是自訂或假的 IDbSet 實作時,此方法將會嘗試找出並叫用與此擴充方法具有相同簽章的公用執行個體方法。