DbSet<TEntity>.RemoveRange メソッド
[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]
特定のエンティティのコレクションを、各エンティティが Deleted 状態になり SaveChanges が呼び出されるとデータベースから削除されるようにして、セットの基になるコンテキストから削除します。
名前空間: System.Data.Entity
アセンブリ: EntityFramework (EntityFramework.dll 内)
構文
'宣言
Public Overridable Function RemoveRange ( _
entities As IEnumerable(Of TEntity) _
) As IEnumerable(Of TEntity)
'使用
Dim instance As DbSet
Dim entities As IEnumerable(Of TEntity)
Dim returnValue As IEnumerable(Of TEntity)
returnValue = instance.RemoveRange(entities)
public virtual IEnumerable<TEntity> RemoveRange(
IEnumerable<TEntity> entities
)
public:
virtual IEnumerable<TEntity>^ RemoveRange(
IEnumerable<TEntity>^ entities
)
abstract RemoveRange :
entities:IEnumerable<'TEntity> -> IEnumerable<'TEntity>
override RemoveRange :
entities:IEnumerable<'TEntity> -> IEnumerable<'TEntity>
public function RemoveRange(
entities : IEnumerable<TEntity>
) : IEnumerable<TEntity>
パラメーター
- entities
型 : System.Collections.Generic.IEnumerable<TEntity>
削除するエンティティのコレクション。
戻り値
型 : System.Collections.Generic.IEnumerable<TEntity>
エンティティのコレクション。
解説
AutoDetectChangesEnabled を true (これが既定です) に設定すると、何らかのエンティティを削除する前に DetectChanges が 1 回だけ呼び出され、再び呼び出されることはないことに注意してください。 これは、状況によっては、RemoveRange の方が Remove を複数回呼び出すよりもかなり良いパフォーマンスになる可能性があること意味しています。 エンティティがコンテキスト内に Added 状態で存在する場合、このメソッドを呼び出すとエンティティはコンテキストからデタッチされることに注意してください。 Added エンティティはデータベースに存在しないと見なされるので、削除を試みるのは意味がないためです。