Thanks Partha for the answer, because of the same problem I got deeper to solve it and I want to share my information for the next one. detaching is correct but as microsoft said:
Detaching entities is a slow process that may have side effects. This method is much more efficient at clearing all tracked entities from the context.
it is better to clear it instead of detach it:
ChangeTracker.Clear();
however notice that it clear the state of all entities and not only one of them. the clear method in EntityTracker is:
public virtual void Clear()
=> StateManager.Clear(resetting: false);
at the end I chose another solution which was using ExecuteUpdateAsync() which is from EF Core 7.0.
ExecuteUpdate and ExecuteDelete are a way to save data to the database without using EF's traditional change tracking and SaveChanges() method.
the code example is something like this:
Context.EntityName.Where(e=> e.id=id).EexecuteUpdateAsync(s=> s.Property(p => propertyName, PropertyValue));