Службы RIA Silverlight 4, средства управления SIlverlight 4 Toolkit и множество взаимосвязей в базе данных - PullRequest
0 голосов
/ 29 июня 2010

Я уже некоторое время смотрю на фрагменты и учебные пособия, но не могу найти полный ответ - только несколько кусочков.

У меня есть база данных с 3 таблицами:

Продукт:

  • идентификатор уникальный идентификатор
  • имя nvarchar (50)

Категория:

  • идентификатор уникальный идентификатор
  • имя nvarchar (50)

Категория продукта:

  • fk_product uniqueidentifier
  • fk_category uniqueidentifier

Очевидно, что существует отношение многих ко многим - продукт может иметьНесколько категорий и одна категория могут быть применены к нескольким продуктам.

Следующим шагом было создание модели ADO.NET и доменной службы из базы данных.Это довольно просто, и я думаю, что это стандарт.

Теперь в представлении я использую DataGrid и DataForm, предоставляемые Silverlight 4 Toolkit.

<toolkit:DataForm ItemsSource="{Binding Data, ElementName=ProductsSource}" Name="dataForm1" AutoCommit="True" />

и

<sdk:DataGrid x:Name="dataGird" ItemsSource="{Binding Data, ElementName=ProductsSource}" AutoGenerateColumns="True" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />

Источник данных ProductsSource определяется следующим образом:

<riaControls:DomainDataSource Name="ProductsSource" QueryName="GetProductsQuery" AutoLoad="True">
        <riaControls:DomainDataSource.SortDescriptors>
            <riaControls:SortDescriptor Direction="Ascending" PropertyPath="title" />
        </riaControls:DomainDataSource.SortDescriptors>
        <riaControls:DomainDataSource.DomainContext>
            <domain:PortfolioDomainContext />
        </riaControls:DomainDataSource.DomainContext>
    </riaControls:DomainDataSource>

Теперь: каков наилучший способ представления данных из этогоотношение многих ко многим в представлении?Есть ли способ показать список с поддержкой множественного выбора внутри DataForm для свойства, с которым связано отношение «многие ко многим»?

1 Ответ

0 голосов
/ 24 сентября 2010

Это возможное дублирование этот вопрос

Очевидно, что многие-ко-многим (где модель EF удаляет таблицу связей) не поддерживается в службах RIA.

Вам необходимо включить таблицу ассоциации. Я думаю, что таблица ассоциаций включается в модель EF только в том случае, если она содержит какие-либо дополнительные поля (в дополнение к двум внешним ключам) или вы нарушаете одну из ассоциаций и сами управляете одной из сторон отношения «многие ко многим».

...