Entity Framework 5 Лучшие практики для обновлений записи
]Records В Framework 5, разработчики часто сталкиваются с выбором нескольких методов, каждый из которых имеет свои преимущества и недостатки. В этой статье будут изучены три общих метода и их ограничения, и в конечном итоге даст лучшее решение.
]Метод 1: Загрузите исходную запись и обновите атрибуты один на один
]]Этот метод требует сначала загрузки исходной записи, а затем вручную обновлять каждый измененный атрибут. Хотя этот подход дает гибкость, чтобы указать свойства, которые должны быть изменены, ему требуются два запроса базы данных (один для загрузки и один для обновления).
]Метод 2: Загрузите исходную запись и установите измененное значение
]]] более эффективным способом является использование currentValues.setValues
для обновления только измененных свойств. Тем не менее, этот метод требует, чтобы представление содержало все атрибуты записи, которые могут представлять риски безопасности для конфиденциальных данных.
Метод 3: Прикрепите обновленную запись и установите статус для изменения
]], чтобы минимизировать количество запросов базы данных, вы можете прикрепить обновленные записи и установить статус Modified
. Хотя этот метод требует только одного запроса, он не может указать свойства, которые должны быть изменены, а также требуют, чтобы представление содержило все свойства.
лучшее решение
], чтобы учитывать эффективность спецификации атрибутов и минимизировать эффективность представления и запроса на одну базу данных, рекомендуются следующие методы:
]пример кода:
]db.Users.Attach(updatedUser);
var entry = db.Entry(updatedUser);
entry.Property(e => e.Email).IsModified = true;
// 其他需要修改的属性
db.SaveChanges();
]
эта схема сначала прикрепляет обновленную запись, а затем изменяет флаг ismodified
конкретного атрибута. Это гарантирует, что обновляются только ожидаемые атрибуты, и можно поддерживать эффективность одного запроса базы данных.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3