重複の可能性:
IDbSet.AddとDbEntityEntry.State = EntityState.Addedの違いは何ですか?
DbSet.Add(entity)とentity.State = EntityState.Addedの違いは何ですか?両方を使用してエンティティをDbContextに追加する例がいくつかありますが、どちらが優先されるかはわかりません。
「切り離された」状態のテストをいくつか見て、リポジトリの実装でどちらを使用するかを決定しました。
public void Add(T entity)
{
var entry = DbContext.Entry(entity);
if (entry.State == EntityState.Detached)
{
DbSet.Add(entity);
}
else
{
entry.State = EntityState.Added;
}
}
誰かアイデア?ありがとう!