2010-07-12 1 views
0

Вопрос может быть о Entity Framework (на основе этой модели используется модель домена WCF RIA), но я не уверен ...Silverlight + WCF RIA + Child-Parent-ReferenceBook => Как правильно заполнить ComboBox на стороне пользователя

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

У меня есть данные Объекты: Комната -> Отель (родительский объект) < - RoomTypes plus Room имеет ссылку на тип номера (так что номер может быть, например, Single, Twin или Double и т. Д.). В одном отеле есть набор номеров, используемых в этом отеле.

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

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

Заранее благодарен!

+0

Может быть, это; Объект может «жить» только в одном контексте RIA за раз. Здесь похоже, что ваши RoomTypes существуют в нескольких контекстах. Вы можете отсоединить/прикрепить объекты к riacontext во время выполнения, если вам нужно. Возможно, вам не следует использовать несколько доменов. – Einarsson

ответ

1

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

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

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

Kyle

0

Einarsson, Кайл - спасибо за вас ответы!

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^