Делаю обычный CRUD контроллер. Просто не делал этого на ASP раньше. Вот я загрузил модель допустим:
[HttpPost("update")]
public async Task Update(int id, [FromBody] Person newModel)
{
using (var db = new ApplicationContext())
{
var model = await db.Persons.Where(p => p.Id == id).FirstAsync();
}
}
Подскажите как мне теперь данные перекинуть из модели полученной запросом в модель которую я достал из базы? Можно конечно просто присвоить все поля вручную, но мне кажется или это такое себе решение? А если бы у меня полей было 10+? Неудобно же...
EntityFramework отслеживает состояние всех своих объектов во внутренних списках и реагирует на них. Надо EntityFramework сказать явно переписать состояние внутреннего объекта на внешний. Делается это методом Attach:
[HttpPost("update")]
public async Task Update(int id, [FromBody] Person newModel)
{
using (var db = new ApplicationContext())
{
db.Persons.Attach(newModel);
db.ObjectStateManager.ChangeObjectState(newModel, EntityState.Modified);
await db.SaveChangesAsync();
}
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Что я имел ввиду в заголовке, так это то, что бы к примеру абстрактный класс, мог стать контейнером некого интерфейса, и что бы при обращении...
На сайте есть 6 видимых и 2 невидимых поляМне необходимо добавить в коллекцию только видимые
Уважаемые знатоки! как на СиШарпе, прочитать ХМЛ файл такого рода:
Пусть имеется 3 класса A B и CB наследуется от А, а C в свою очередь от B, следовательно B получит всё что есть у A, а C получит всё от A и B