Лучший отвечающий
Помогите разобраться с кодом

Вопрос
-
Доброго времени суток. Разобрался с одной из проблем по подключению БД, но теперь столкнулся с другой. Я работаю с этим гайдом Ссылка . Подскажите, пожалуйста, что означает эта строка ObjectQuery<Product> products = dataEntities.Products; <Product> - это таблица, дальше задается сущность, как я понимаю. А что вот это такое? dataEntities.Products. Разобрался бы может и сам, но БД скачать тестовую нельзя. Говорит, страница не существует..Спасибо заранее....9 февраля 2013 г. 7:10
Ответы
-
По поводу вашей ошибки. Как я вам уже писал выше, у вас возвращается не запрос, а коллекция. Поэтому, у вас и ругалось на приведение типов. Но эта строка не нужна. Можно сразу данные брать из БД и подсовывать в ItemsSource (единственно, на картинке видно, надо не саму сущность подсовывать, а либо результат запроса Where, либо как у меня преобразовав коллекцию в массив):
- Помечено в качестве ответа AlexBelkevich 11 февраля 2013 г. 9:54
11 февраля 2013 г. 9:48Отвечающий
Все ответы
-
Это объект представляющий коллекцию сущностей, содержит записи из таблицы. Грубо говоря - это объектное представление таблицы.9 февраля 2013 г. 8:18Модератор
-
а не поможете на примере?Если у меня есть таблица, например, Ламинат. Мне из этой таблицы надо вытащить поля в DataGrid.. как будет выглядеть этот код?ObjectQuery<Product> products = dataEntities.Products9 февраля 2013 г. 8:49
-
Там же детально всё на простом примере показано как, и это тоже в том числе. Что для вас остаётся непонятным ещё?9 февраля 2013 г. 10:27Модератор
-
Я же написал, что мне остается непонятным. dataEntities.Products. - Products - это что??9 февраля 2013 г. 11:42
-
В данном случае, Products - это имя таблицы. Если у вас таблица в базе называется Laminats, то в вашем случае код будет:
ObjectQuery<Laminat> laminats = dataEntities.Laminats
10 февраля 2013 г. 5:03Отвечающий -
Я сделал вот так (таблица Ламинат - по русски (можно ли?)). ObjectQuery<Ламинат> laminat = dataEntities.Ламинат. Выходит ошибка Неявное преобразование типа "System.Data.Entity.DbSet<StriyMag.Ламинат>" в "System.Data.Objects.ObjectAuery<StroyMag.Ламинат>" невозможно
10 февраля 2013 г. 10:45 -
Ой, что то я копипастил, и не обратил внимания, что вы с сущностями на прямую работаете. Все, у вас dataEntities.Ламинат возвращает коллекцию из видов ламината которые храняться в таблице. Можете, например, вывести все их на экран (Name - это имя столбца из базы данных):
forech (var item in dataEntities.Ламинат) { Console.WriteLine(item.Name); }
10 февраля 2013 г. 11:22Отвечающий -
Так и делаю, но ошибка остается) Если строку ObjectQuery<Ламинат> laminat = dataEntities.Ламинат удаляю и оставляю цикл, то вообще ничего не выводится.. может косяк все таки в ObjectQuery?... Мне надо в DataGrid это вывести.. Я никогда раньше не подключал БД к WPF, поэтому и проблемы возникают...10 февраля 2013 г. 11:41
-
Хм, т.е. присвоение в ItemsSource вашего датагрида вот этой штуки: dataEntities.Ламинат не работает?
10 февраля 2013 г. 11:45Отвечающий -
Неа.. у меня ошибка. подчеркивается dataEntities.Ламинат.. Может, я скину проект сюда, а вы посмотрите, если вам не сложно?
http://sdrv.ms/14Lfmdc - вот сам проект..
- Изменено AlexBelkevich 10 февраля 2013 г. 11:52
10 февраля 2013 г. 11:47 -
Давай, выложи на файлообменник какой нибудь.
10 февраля 2013 г. 11:50Отвечающий -
SkyDrive подходит?)10 февраля 2013 г. 11:56
-
Да.
10 февраля 2013 г. 13:12Отвечающий -
http://sdrv.ms/14Lfmdc вот) архив) (на всякий случай еще раз повторяю)
- Изменено AlexBelkevich 10 февраля 2013 г. 13:34
10 февраля 2013 г. 13:34 -
Сидел сидел..разбирался...Надежда только на Вас:)10 февраля 2013 г. 18:02
-
Да мы рады помочь, честно. Просто это совсем базовые вещи, нужно попытаться самому прочитать и понять. Если не понятно, читайте ещё и еще. Не один Вы такой, со всеми нами в своё время такое было. Начните с базовых вещей, в примере который привели Вы детально всё написано. Попробуйте его в точь выполнить, потом шаг дальше.10 февраля 2013 г. 18:06Модератор
-
Да я бы сделал на примере...но БД не качается оттуда...я и пытаюсь сделать, тем более что там шагов немного. но все уже перепробовал... Ошибка вылезает...
Я сам человек, который до последнего с задачей бьется, но никак не решит. Но тут уже неделю не могу понять, какие там значения должны быть... Опыта не хватает с этим, а больше то инфы нигде нет..- Изменено AlexBelkevich 10 февраля 2013 г. 18:11
10 февраля 2013 г. 18:10 -
По поводу вашей ошибки. Как я вам уже писал выше, у вас возвращается не запрос, а коллекция. Поэтому, у вас и ругалось на приведение типов. Но эта строка не нужна. Можно сразу данные брать из БД и подсовывать в ItemsSource (единственно, на картинке видно, надо не саму сущность подсовывать, а либо результат запроса Where, либо как у меня преобразовав коллекцию в массив):
- Помечено в качестве ответа AlexBelkevich 11 февраля 2013 г. 9:54
11 февраля 2013 г. 9:48Отвечающий -
Спасибо огромное! Получается, мне надо запрос именно делать) А не коллекцию) А то по ходу и связи отображаются в таблице (вы тоже можете на это взглянуть, если вправо таблицу прокрутите))спасибо большое!)11 февраля 2013 г. 9:54