Зачем использовать Attach для обновления Entity Framework 6?

При поиске лучших практических возможностей выполнения операции CRUD через EF я заметил, что настоятельно рекомендуется использоватьAttach() или жеFind() методы перед обновлением объекта. Он работает хорошо, и согласно документации EF эти методы извлекают сущность в контекст, который для меня вполне понятен. Но следующий код сбил меня с толку

public void Update(object entity)
{
    Record record = new Record() {
        id = 1,
        value = 5
    };
    using (SomeContext ctx = new SomeContext())
    {
        ctx.Entry(record).State = EntityState.Modified;
        ctx.SaveChanges();
    }
}

Предположим, у нас есть запись с id = 1 в базе данных. При этом условии приведенный выше код обновит запись (установите значение 5). Вопрос в том, почему это работает? И тогда почему я должен использоватьAttach()?. Насколько я понимаю, запись никак не связана с контекстом. Я прочитал соответствующие главыэтот книга иучебник но они используют 2-запросный подход. Также я занимался серфингом ТАК, но не нашел ответа на свой вопрос. Помогите мне с объяснениями или хорошими материалами, пожалуйста.

Ответы на вопрос(1)

Ваш ответ на вопрос