Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 2 / 2
Регистрация: 29.10.2013
Сообщений: 80
1

EF: изменить набор дочерних сущностей

11.02.2016, 21:17. Показов 775. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулась с такой проблемкой:
Использую EF, автодетект изменений отключила намеренно.

Нужно обновить Юзера, который обладает набором ролей:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private readonly DbSet<User> _users;
public void Update(User user)
        {
            var updated = _users.Find(user.Id);
 
            if (updated == null)
            {
                throw new InvalidOperationException("Can't update user that doesn't exists in database");
            }
 
            updated.Name = user.Name;
            updated.LastName = user.LastName;
            updated.Login = user.Login;
            updated.Password = user.Password;
            updated.State = user.State;
 
            updated.Roles.Clear();
            updated.Roles.AddRange(user.Roles);
 
            Пробовала апдейтить сами роли - все равно не помогает. Набор - не меняется.
            //foreach (var role in updated.Roles)
            //{
            //    var updatedRole = _roles.Find(role.Id);
            //    _context.Entry(updatedRole).State = EntityState.Modified;
           // }
            
            _context.Entry(updated).State = EntityState.Modified;
        }
Что касается обычных полей, то они обновляются без проблем.
Но вот при удалении / добавлении роли в набор - никак не могу добиться перезаписи этого набора.

При этом сами роли я не хочу апдейтить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2016, 21:17
Ответы с готовыми решениями:

Опишите набор сущностей, задающий список преподавателей колледжа
ребятушки,доброго времени суток.На вас осталось одна надежда...на носу аттестация,из-за баз данных...

Изменить шрифт на сайте для всех дочерних элементов
Доброго времени суток! Можно ли как-то назначить шрифт (в общем случае, любое свойство) для всех...

Как при изменение размера родительской формы, изменить размеры дочерних форм?
Есть одна родительская и две дочерние формы, как сделать так, что при переводе родительской формы в...

Как изменить фильтр в админке записей по рубрикам (показ без дочерних рубрик)?
При выборе в админке записей категории (рубрики) показываются записи как из этой категории так и из...

1
2 / 2 / 2
Регистрация: 29.10.2013
Сообщений: 80
15.02.2016, 14:19  [ТС] 2
Может у кого-нибудь будут хоть какие-нибудь идеи?

Получить набор сущностей я могу таким образом, но как его переписать, никак не получается отыскать
C#
1
var x = _context.Entry(updated).Collection("Roles").CurrentValue;
0
15.02.2016, 14:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2016, 14:19
Помогаю со студенческими работами здесь

Изменить набор кнопок навигации в VB
Привет, All! )) Ребята, кто-нить подскажет, как можно изменить стандартный набор системных...

Возможно ли изменить автоподставляемый набор директив using при создании файлов проекта?
Возможно ли изменить автоподставляемый набор директив using при создании файлов проекта? Вообще...

Дан набор слов, разделенных точкой с запятой (;). Набор заканчивается двоеточием (:). Определить, сколько в
:wall: Плиз хелп. Не могу составить программу на шарпе: Дан набор слов, разделенных точкой с...

Куда помещать набор свой набор процедур и функций?
В какую папку в Pascal SchoolPak поместить .pas файл, чтобы он потом в .tpu преобразовался?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru