加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 关系从一对多变为多对多需要更新listview

发布时间:2020-12-16 07:44:29 所属栏目:asp.Net 来源:网络整理
导读:我有一个分发表,其中包含一个分配ID的pk和一个收件人表,其中RecipientID为pk.此表曾经是1对多,但现在需要使用中间表更改为多对多. 我有一个EntityDataSource,它提供了一个listview,允许简单地操作分发列表. asp:EntityDataSource ID="edsRecipients" runat="
我有一个分发表,其中包含一个分配ID的pk和一个收件人表,其中RecipientID为pk.此表曾经是1对多,但现在需要使用中间表更改为多对多.

我有一个EntityDataSource,它提供了一个listview,允许简单地操作分发列表.

<asp:EntityDataSource ID="edsRecipients" runat="server" ConnectionString="name=DistributionEntities" DefaultContainerName="DistributionEntities" 
                        EnableDelete="True" EnableFlattening="False" EnableInsert="True" EnableUpdate="True" EntitySetName="Recipients"
                        Where="it.[DistributionID]=@DistributionID">
    <WhereParameters>
        <asp:ControlParameter ControlID="ddlSelectDistributionList" ConvertEmptyStringToNull="true" DbType="Int32" Name="DistributionID" />
    </WhereParameters>
</asp:EntityDataSource>

有没有办法可以更改where子句以使用新表如果需要,新表将命名为DistributionRecipients.如果没有,我可以通过某种方式将EF类的Distribuion.Recipients绑定到后面代码中的List视图,它将使用自动编辑和删除功能,还是需要添加代码来处理它们?

解决方法

您可以修改EntityDataSource的where属性,以在Recipients实体的Distributions导航属性中包含子查询:

EXISTS(SELECT Distributions.DistributionID FROM it.Distributions WHERE Distributions.DistributionID=@DistributionID)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读