我有一个分发表,其中包含一个 pk 的 DistributionID 和一个收件人表,其中 RecipientID 为 pk。该表曾经是一对多,但现在需要使用中间表更改为多对多。
我有一个 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 绑定(bind)到后面代码中的 ListView ,这将与自动编辑和删除功能一起使用,还是我需要添加代码来处理它们?
最佳答案
您可以修改 在哪里 EntityDataSource 的属性以包含 上的子查询分布导航属性 收件人实体:
EXISTS(SELECT Distributions.DistributionID FROM it.Distributions WHERE Distributions.DistributionID=@DistributionID)
关于asp.net - 关系从一对多变成多对多需要更新listview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6425641/