powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF, Winforms
4 сообщений из 4, страница 1 из 1
EF, Winforms
    #36511054
VeroNa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Я тут начала потихоньку осваивать новые технологии и есть некоторые вопросы...
Я создала из БД, которая лежит на SQL Server 2008, модель EF. Там есть таблица Table1 с большим количеством столбцов.
Как мне выбрать из этой таблицы 7 полей по условию и подключить в качестве источника к DataGridView?
Я попробовала сделать на сервере хранимую процедуру, но не понимаю какой тип в EF она должна возвращать: если исходный (Table1), то количество полей не совпадет, или мне надо создать отдельный класс на основе Table1 для этой выборки именно с этими 7 полями...
Подскажите, пожалуйста, а то я совсем запуталась в этом EF... :(
...
Рейтинг: 0 / 0
EF, Winforms
    #36523719
VeroNa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже сделала через хранимую процедуру... Данные отображаются....
Но появилась другая проблема - в гриде есть поле DataGridViewComboBoxColumn и к нему надо также привязать данные из справочника. Справочники также лежат в модели EF. Из всего справочника мне нужно только 2 поля... Неужели на каждый справочник надо писать хранимую процедуру? Неужели нельзя как-нибудь по-другому выбрать эти 2 поля?

Я попробовала сделать привязку данных к комбобоксу так, но почему-то они не привязываются как надо...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
                        DataGridViewComboBoxColumn myGridColumnCB = new DataGridViewComboBoxColumn();
                        myGridColumnCB.Name = itemCol.ColName.Trim();
                        myGridColumnCB.DataPropertyName = itemCol.namePole.Trim();
                        myGridColumnCB.HeaderText = itemCol.PoleTitle.Trim();

                                ObjectQuery<Sprav> query = new ObjectQuery<Sprav>("Sprav", conSprav);
                                ObjectQuery<DbDataRecord> queryS1 = query.Select("it.cod, naz");


                                BindingSource myCBBS1 = new BindingSource();
                                myCBBS1.DataSource = queryS1;
                                myGridColumnCB.DataSource = myCBBS1;
                                myGridColumnCB.DisplayMember = itemCol.StrSourVal.Trim();
                                myGridColumnCB.ValueMember = itemCol.StrSourKey.Trim();


Так как грид формируется динамически, то данные о том, каие колонки отображать и к каким данным привязывать лежат в конфигурационной таблице на сервере... В принципе, грид данными заполняется нормально, кроме этого столбца с combobox... Что я делаю не так?
...
Рейтинг: 0 / 0
EF, Winforms
    #36524455
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Хранимка возможно не импортирована в контекст.
2. Все справочники можно запихнуть в одну таблицу с полями: Ид, ИмяСправочника, Ключ, Значение, тогда обойдётесь одной процедурой.
...
Рейтинг: 0 / 0
EF, Winforms
    #36525297
VeroNa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bured1. Хранимка возможно не импортирована в контекст.
2. Все справочники можно запихнуть в одну таблицу с полями: Ид, ИмяСправочника, Ключ, Значение, тогда обойдётесь одной процедурой.
Здесь я не использую хранимку, я попробовала обойтись без неё...
Запихивать все справочники в одну таблицу как бы не вижу большого смысла - их слишком много...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF, Winforms
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]