Silverlight + WCF RIA + Child-Parent-ReferenceBook => Как правильно заполнить ComboBox на стороне пользовательского интерфейса - PullRequest
0 голосов
/ 12 июля 2010

Это может быть вопрос о Entity Framework (на нем основана модель домена WCF RIA), но я не уверен ...

Итак, у меня есть Silverlight UI (MVVM) + службы домена WCF RIA +Entity Framework на стороне сервера.

У меня есть данные. Entities: Room -> Hotel (родительская сущность) <- RoomTypes plus Room имеет ссылку на тип номера (поэтому Room может быть, например, Single или Twin или Double и т. Д.).И один отель содержит набор типов номеров, используемых в этом отеле. </p>

Проблема - на стороне пользовательского интерфейса я создал пользовательский элемент управления - Редактор номеров.Там у меня есть текстовые поля (нет никаких проблем с текстовыми полями и привязкой данных), а также есть у меня comboBox - для редактирования Room Type of Room.Я не могу понять, как правильно работать таким образом ... Пожалуйста, помогите мне с этим!

Что у меня есть сейчас - я пытался загрузить отели с типами номеров (в метаданных домена - через [Включить] и плюс this.ObjectContext.Hotels.Include ("RoomTypes") в классе домена на стороне сервера RIA WCF) и в comboBox связывают его со списком типов комнат.Но!Если я выберу какой-либо тип номера, где было исключение - «Entity 'RoomType' не может быть присоединен к этому EntityContainer, потому что он уже подключен к другому EntityContainer.» ... Отель загружается отдельной службой домена и типами номеров (в пользовательском элементе управления) загружается собственным доменным сервисом.Как я могу это решить?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 14 июля 2010

Мое второе замечание в этом посте посвящено проблеме, с которой вы столкнулись.

http://blogs.msdn.com/b/kylemc/archive/2010/06/18/combobox-sample-for-ria-services.aspx

Чтобы правильно настроить эту связь, необходимо убедиться, что вы загружаете Rooms и RoomTypes (в частности, RoomTypes, которые вы используете в ComoboBox) в один и тот же DomainContext. Кроме того, мой третий пункт в этом посте может оказаться полезным при работе с асинхронно заполняемыми поисками.

Кайл

0 голосов
/ 15 июля 2010

Einarsson, Kyle - спасибо за ваши ответы!

Я все еще загружаю отели со списком типов номеров, но вчера я решил перейти на источник данных с одним доменом, и мне кажется, что это то, что яищу.Это позволяет мне хранить все сущности (связанные с Отелем) в одном DDS - то есть один Доменный Контекст для всех сущностей.Теперь единый DDS, отвечающий за загрузку, сохранение всех объектов, связанных с Hotel, и это работает (мне просто нужно исправить некоторые проблемы, связанные с привязкой данных)

, это мой первый опыт в WCF RIA :)

И снова - спасибо за ваши ответы!

...