Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
27.01.2017, 18:39
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Есть у меня в БД несколько одинаковых таблиц-справочников (ID, Name). Основное приложение в меню имеет пункты: "Редактировать справочник 1", 2, 3 и т.д., из которых должно открываться окно с ListView для просмотра, редактирования справочников. Вот так выглядит команда для одного из пунктов меню: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Как указать вью-модели данные, с которыми будет идти работа? Если "vm.Data = dbContext.Dic1.Local", то как указать тип во вью-модели? Ведь "public List<object> Data" не подойдет, тогда я не смогу добавлять новые элементы в список/коллекцию на подобии Data.Add()... Пробовал еще так: сделать свой класс MyDic { int ID, string Name } и делать так: Код: c# 1.
но как тогда сохранять изменения? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2017, 00:14
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2017, 13:21
|
|||
---|---|---|---|
EF и несколько одинаковых таблиц |
|||
#18+
Qwe.Qwe1, Если у вас несколько однотипных таблиц, то может объединить их в одну ? На стороне клиента сделать SelectDictionaryQuery и UpdateDictionaryCommand. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2017, 14:18
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Объединить в одну? Как вариант... А без объединения таки? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2017, 23:07
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Qwe.Qwe1, авторПробовал еще так: сделать свой класс MyDic { int ID, string Name } и делать так: Да, именно так. Создаете общую модель для всех справочников и с ней работаете. авторно как тогда сохранять изменения? Если вы имеете ввиду "в какой справочник сохранять изменения", то: автор Код: c# 1.
Вы же знаете, откуда вы получили данные :) Туда же и сохраняйте. Сделайте метод SaveToDic1(IEnumerable<MyDic>), SaveToDic2() и т.д. Либо сохраните любым другим способом контекст (т.е. откуда вы получили данные). А вообще лучше все в одну таблицу, как вам и советовали ранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2017, 22:42
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Я вот так пытаюсь сохранять, но в БД изменений нет... Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.01.2017, 10:55
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Твой dbContext о vm.Data ничегошеньки не знает, поэтому не может никак сохранить в ней изменения. Для него никаких изменений нет. Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.01.2017, 12:40
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Ну да, логично, а в этом и вопрос весь: во vm.Data я передал справочник, и в vm я хочу сохранять изменения. Код: c# 1.
- по сути это имитация добавления в справочник новой записи в дочернем окне (vm.Data прибинден к ListView)... Вот как сохранять? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.01.2017, 13:38
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Qwe.Qwe1Ну да, логично, а в этом и вопрос весь: во vm.Data я передал справочник, и в vm я хочу сохранять изменения. Код: c# 1.
- по сути это имитация добавления в справочник новой записи в дочернем окне (vm.Data прибинден к ListView)... Вот как сохранять? Тебе надо реализовать паттерн "репозиторий". P.S. Ты рано взялся за всё это. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.01.2017, 15:43
|
|||
---|---|---|---|
EF и несколько одинаковых таблиц |
|||
#18+
Qwe.Qwe1Я вот так пытаюсь сохранять, но в БД изменений нет... Код: c# 1. 2. 3.
Вы точно используете EF ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.01.2017, 18:06
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Ну да )) А что? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.01.2017, 19:36
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Qwe.Qwe1Я вот так пытаюсь сохранять, но в БД изменений нет... Код: c# 1. 2. 3.
Вы создаете коллекцию, в которую потом добавляете элемент. Как коллекция связана с контекстом? Никак:) Подпишитесь на CollectionChanged и при событии добавления нового объекта добавляйте его в контекст. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.02.2017, 17:15
|
|||
---|---|---|---|
|
|||
EF и несколько одинаковых таблиц |
|||
#18+
Ну да, у меня получается новая коллекция, не привязанная к контексту. А зачем мне событие CollectionChanged? Можно как-то сделать, чтобы пользователь из этой новой коллекции наудалял элементов, надобавлял или изменил (переименовал) что-либо, а потом по кнопке Сохранить эта измененная коллекция бы скопом записывалась бы в БД. Ну как-то на подобии: dbContext.Dic1 = Data; //? dbContext.SaveChaged(); ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=17&mobile=1&tid=1349316]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 236ms |
total: | 494ms |
0 / 0 |