本文介绍了entitydatasource一对多一的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想建立一个下拉列表与entitydatasource和查询。我recieving以下错误消息,我不确定我在做什么错了:

I am trying to build a drop down list with an entitydatasource and a query. I am recieving the following error message, I am unsure about what I am doing wrong:

用户ID不Transient.collection [WebAppModel的一员。 UserSite(可空= TRUE,默认值=)。要提取集合元素的属性,使用子查询来遍历集合。近简单的标识符,第6行,列69

实体数据源

<asp:EntityDataSource ID="edsSites" runat="server"
                ConnectionString="name=WebAppEntities"
                DefaultContainerName="WebAppEntities"
                EntitySetName="Sites"
                Include="Sites, UserSites"
                Where="EXISTS(SELECT Sites.SiteId, Sites.Domain FROM Sites
                            WHERE UserSites.UserId=@UserId)">
    <WhereParameters>
        <asp:Parameter Name="UserId" DbType="Guid" />
    </WhereParameters>
</asp:EntityDataSource>

EDM(站点) - 表(网站)


  • SITEID - PK

  • 项目

  • 组织




  • 地址1

  • 地址2

  • 城市

  • 国家

  • 张贴code

  • CountryId

  • Phonenumber来

  • 电子邮件

EDM(UserSite) - 表(UserSites)


  • 用户ID FK

  • SITEID FK

推荐答案

解决的问题!

<asp:EntityDataSource ID="edsSites" runat="server"
                                    ConnectionString="name=WebAppEntities"
                                    DefaultContainerName="WebAppEntities"
                                    EntitySetName="Sites"
                                    Where="EXISTS(SELECT VALUE u FROM it.UserSites AS u WHERE u.UserId = @UserId)" EnableFlattening="False" Select="it.[SiteId], it.[Domain]">
                                    <WhereParameters>
                                        <asp:Parameter Name="UserId" DbType="Guid" />
                                    </WhereParameters>
</asp:EntityDataSource>

这篇关于entitydatasource一对多一的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-10 13:52