0

私はかなり前からスニペットとチュートリアルを見ていましたが、完全な答えを見つけることができません-ほんの少しの断片です。

3つのテーブルを持つデータベースがあります。

製品:

  • id uniqueidentifier
  • 名前nvarchar(50)

カテゴリー:

  • id uniqueidentifier
  • 名前nvarchar(50)

製品カテゴリ:

  • fk_product uniqueidentifier
  • fk_category uniqueidentifier

明らかに、多対多の関係があります。製品には複数のカテゴリを含めることができ、カテゴリは複数の製品に適用できます。

次のステップは、データベースからADO.NETモデルとドメインサービスを生成することでした。これはかなり単純で、標準だと思います。

ビューでは、Silverlight4Toolkitによって提供されるDataGridとDataFormを利用します。

<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>

現在:この多対多の関係からのデータをビューに表示するための最良の方法は何ですか?多対多の関係が関連付けられているプロパティのデータフォーム内に複数選択が有効なリストボックスを表示する方法はありますか?

4

1 に答える 1

0

これは、この質問の重複の可能性があります

どうやら多対多(EFモデルが関連付けテーブルを削除する場合)はRIAサービスではサポートされていません。

関連付けテーブルを含める必要があります。アソシエーションテーブルは、追加のフィールド(2つの外部キーに追加)が含まれている場合、またはアソシエーションの1つを壊して、多対多の関係の片側を自分で管理する場合にのみ、EFモデルに含まれると思います。

于 2010-09-24T10:00:24.490 に答える