代码之家  ›  专栏  ›  技术社区  ›  Dänu

silverlight4ria服务、silverlight4toolkit控件和数据库中的多对多关系

  •  0
  • Dänu  · 技术社区  · 16 年前

    我看了很长一段时间的片段和教程,但我找不到一个完整的答案-只是一些零碎的东西。

    产品:

    • 唯一标识符
    • 名称 nvarchar(50)

    • 身份证件 唯一标识符
    • nvarchar(50)

    产品类别:

    • 唯一标识符
    • fk\U类别 唯一标识符

    显然,这涉及到多对多的关系——一个产品可以有多个类别,一个类别可以应用于多个产品。

    现在在视图中,我使用了Silverlight4工具包提供的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>
    

    现在:在视图中呈现这种多对多关系的数据的最佳方式是什么?有没有一种方法可以在具有多对多关系的属性的数据表单中显示一个启用多选择的列表框?

    1 回复  |  直到 16 年前
        1
  •  0
  •   Community Mohan Dere    9 年前

    这可能与 this question

    显然,RIA服务中不支持多对多(EF模型删除了关联表)。

    您需要包括关联表。我认为关联表只包含在EF模型中,如果它包含任何额外的字段(除了2个外键之外),或者您打破了其中一个关联并自己管理多对多关系的一方。