Hi Nicholas.
The EF provider uses an UpdateOneModel with $set for each property that has a changed value. This is performed inside a BulkWriteOperation with other changes for that collection all wrapped up inside a transaction.
This granular property-level change-tracking is one of the main benefits of the EF provider over the MongoDB C# Driver.
If you’re looking for Replace semantics you should consider using the C# Driver directly. Between the LINQ provider it has and the full-document replacement options it’s much better suited to the approach you’re looking for.