Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Silverlight, Domain service classes
|
|||
|---|---|---|---|
|
#18+
SilverLight приложение, EF, RIA Service, Domain Service Classes. Все построил как надо. Запрашиваю сущность A, у которой есть ссылки(navigation property) на сущности B и С. В сервисном классее доработал GetA public IQueryable<A> GetA() { return this.ObjectContext.A.Include("B").Include("C"); } На клиентской стороне(в SilverLight) в форме для отображения хочу отобразить в grid коллекцию A и свойства сущностей B и C , на которые он ссылается типа <datagrid> <columns> <column DataMemberBinding="{Binding name}" /> <column DataMemberBinding="{Binding B.name}" /> <column DataMemberBinding="{Binding C.name}" /> </columns> </datagrid> в бехайнде загружаю так public class AList() { public AList() { InitializeComponent(); grid.ItemSource=cntx.A; cntx.Load(cntx.GetAQuery()); } В профайлере SQL вижу..что выполняется запрос sel ect a.*,b.*,c.* fr om a left outer join b on a.id=b.a_id и т.д. т.е. все ок все поля необходимые вынимаются Но я из коллекции A, которую присвоил datagrid.ItemSource выделяю один элемент и смотрю что у A navigation property B и C ==null! - т.е. не заполнились,и соответственно в гриде отобразить нечего! В чем дело? Я же проинклудил все refrence enitity - и по профайлингу видно..что запрос выполнился как надо. Может я cntx.Load() - не так использую? Подскажите! } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2010, 19:36 |
|
||
|
Silverlight, Domain service classes
|
|||
|---|---|---|---|
|
#18+
хех, там есть секрет. при создании DomainService необходимо нажать на флаг "Generate metadata..." посте генерации имеем два рядом лежащих файла, сам сервис и его metadata. необходимо зайти в файл metadata и в сущности A коллекций B и C поставить атрибут Код: plaintext по умолчанию все обрезается, видимо из хороших побуждений. удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2010, 01:04 |
|
||
|
Silverlight, Domain service classes
|
|||
|---|---|---|---|
|
#18+
уТКахех, там есть секрет. при создании DomainService необходимо нажать на флаг "Generate metadata..." посте генерации имеем два рядом лежащих файла, сам сервис и его metadata. необходимо зайти в файл metadata и в сущности A коллекций B и C поставить атрибут Код: plaintext по умолчанию все обрезается, видимо из хороших побуждений. удачи. Пипец. А мой .Include("B") - для него не указ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2010, 01:32 |
|
||
|
Silverlight, Domain service classes
|
|||
|---|---|---|---|
|
#18+
уТКахех, там есть секрет. при создании DomainService необходимо нажать на флаг "Generate metadata..." посте генерации имеем два рядом лежащих файла, сам сервис и его metadata. необходимо зайти в файл metadata и в сущности A коллекций B и C поставить атрибут Код: plaintext по умолчанию все обрезается, видимо из хороших побуждений. удачи. Спешу огорчить - не помогло.. зашел в метакласс..там хитрая конструкция [MetadataTypeAttribute(typeof(A.AMetadata))] public partial class A { internal sealed class ProjectMetadata { // Metadata classes are not meant to be instantiated. private AMetadata() { } [Include] public B B; [Include] public C C; Не помогло..на клиентской стороне после GetAQuery() - в сущности A снова B и C ==null Хрень какая-то.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2010, 01:45 |
|
||
|
Silverlight, Domain service classes
|
|||
|---|---|---|---|
|
#18+
уТКахех, там есть секрет. при создании DomainService необходимо нажать на флаг "Generate metadata..." посте генерации имеем два рядом лежащих файла, сам сервис и его metadata. необходимо зайти в файл metadata и в сущности A коллекций B и C поставить атрибут Код: plaintext по умолчанию все обрезается, видимо из хороших побуждений. удачи. Дико извиняюсь! Сработало. Я просто подумал, что Вы советуете убрать .Include("B").Include("C) из запроса и включить атрибут Include ..оставил и атрибут и операторы включения - приехало!) И Вам удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2010, 01:56 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=36411205&tid=1442930]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 17ms |
| total: | 166ms |

| 0 / 0 |
