2 / 2 / 2
Регистрация: 29.10.2013
Сообщений: 80
1

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

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

Столкнулась с такой проблемкой:
Использую 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
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® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.