Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возвращение связанной коллекции объектов 
:(
    Опции темы
ANTON_AL
Дата 2.6.2009, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 292
Регистрация: 27.1.2007

Репутация: нет
Всего: нет



Доброго дня!



Есть фрагмент базы данных. (картинка в приложении)
Mailings 1---->*MailingList *---->1 Recipients.


Mailings - это таблица, хранящая информацию о рассылке (тема + само письмо)
MailingList - это таблица без Primary key, содержащая id рассылки и Id подписчика.
Recipients - таблица подписчиков.

Сгенерированная Entity Data Model выглядит так: (картинка в приложении)
Mailing *<---->* Recipient


Если простой веб сервис, который выдаёт список всех рассылок:
Код

    [WebMethod]
    public List<Model.Mailing> GetMailings()
    {    
        var r =    from m in this.entities.MailingSet.Include("Type").Include("Product").Include("Recipients")                
                select m;
        return r.ToList( );
    }




Необходимо, чтобы он подцеплял список всех получателей, которые связаны с каждой рассылкой.
При данном коде, возвращаются только списки Id для получателей. Мне необходимо также и остальные поля.

Как это можно сделать ?

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  example.jpg 91,63 Kb
PM MAIL   Вверх
Idsa
Дата 2.6.2009, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 1
Всего: 62



Цитата(ANTON_AL @  2.6.2009,  14:29 Найти цитируемый пост)
При данном коде, возвращаются только списки Id для получателей. Мне необходимо также и остальные поля.

В Вашей модели у сущности MailingRecipient всего одно свойство - Id. Что же еще он должен возвращать?


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
ANTON_AL
Дата 2.6.2009, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 292
Регистрация: 27.1.2007

Репутация: нет
Всего: нет



Idsa, 

Да, немного неудачный пример.
На самом деле, можно рассмотреть пример ассоциации с продуктом: (полная модель в приложении)
Веб-сервис выдаёт такой ответ:
Код

<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfMailing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
    <Mailing>
        <EntityKey>
            <EntitySetName>MailingSet</EntitySetName>
            <EntityContainerName>MailingEntities</EntityContainerName>
            <EntityKeyValues>
                <EntityKeyMember>
                    <Key>Id</Key>
                    <Value xsi:type="xsd:long">1000</Value>
                </EntityKeyMember>
            </EntityKeyValues>
        </EntityKey>

        <Id>1000</Id>
        <Subject>Release of Product1</Subject>
        <Content>Release of Product1 Content</Content>
        <DateDone xsi:nil="true" />
        <isDone>false</isDone>
        
        <!--
            Выдаются только ключи. Нет поля Name
        -->
        <TypeReference>
            <EntityKey>
                <EntitySetName>MailingTypeSet</EntitySetName>
                <EntityContainerName>MailingEntities</EntityContainerName>
                <EntityKeyValues>
                    <EntityKeyMember>
                        <Key>Id</Key>
                        <Value xsi:type="xsd:long">1000</Value>
                    </EntityKeyMember>
                </EntityKeyValues>
            </EntityKey>
        </TypeReference>

        <!--
            Выдаются только ключи. Нет полей Name, Version и ReleaseDate
        -->
        <ProductReference>
            <EntityKey>
                <EntitySetName>ProductSet</EntitySetName>
                <EntityContainerName>MailingEntities</EntityContainerName>
                <EntityKeyValues>
                    <EntityKeyMember>
                        <Key>id</Key>
                        <Value xsi:type="xsd:long">1000</Value>
                    </EntityKeyMember>
                </EntityKeyValues>
            </EntityKey>
        </ProductReference>
    </Mailing>
</ArrayOfMailing>



Для ассоциированных сущностей выдаются только ключи. Мне необходимо получить все поля (Name, ReleaseDate и т.д.)

Кстати, Recipients вообще не подгружаются. Хотя в базе они есть...Тоже не понятно, почему...

Это сообщение отредактировал(а) ANTON_AL - 2.6.2009, 12:00

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  example.jpg 111,13 Kb
PM MAIL   Вверх
Idsa
Дата 2.6.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 1
Всего: 62



Давайте пока оставим в стороне вопрос, что возвращает Web-сервис: с этим вопросом нужно разбираться отдельно. Поэтому судить о том, грузится ли что или нет нужно на серверной стороне.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
ANTON_AL
Дата 2.6.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 292
Регистрация: 27.1.2007

Репутация: нет
Всего: нет



На серверной стороне всё грузится замечательно.
   (скриншот в приложении)

Проблема как раз в том, что всё это добро не выдаётся клиенту (выдаются только ключи).



Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  example.jpg 212,99 Kb
PM MAIL   Вверх
Idsa
Дата 2.6.2009, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 1
Всего: 62



Цитата(ANTON_AL @  2.6.2009,  17:37 Найти цитируемый пост)
Проблема как раз в том, что всё это добро не выдаётся клиенту (выдаются только ключи).

Надо было сразу сделать акцент на этом в первом посте. Перемещаю в раздел "Распределенные приложения и сеть".


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.