EntityDataSource 在导航属性集合上使用 IN 子句
您好,我正在使用 EntityDataSource 来检索我的项目,并且我想获取特定区域的项目。 (项目和区域具有多对多关系,因此项目具有区域导航属性)。我正在使用“IN”来过滤项目。尝试了几种组合,但它不断抛出各种错误。我怎样才能解决这个问题:
下面是我的数据源:
<asp:EntityDataSource ID="CataloguesDataSource" runat="server" ConnectionString="name=ModelContainer"
DefaultContainerName="ModelContainer" EnableInsert="false" EnableUpdate="false" OrderBy="it.EndDate desc,it.id desc" Include="it.Regions"
EntitySetName="Catalogues" Select="it.Id,it.Name,it.StartDate,it.EndDate,it.RetailerId"
Where="it.Retailer.Name=@RetailerName and @Region IN (select p.Id from it.Regions as p)" >
<WhereParameters>
<asp:ControlParameter Name="RetailerName" ControlID="hdnRetailer" DbType="String" PropertyName="Value" DefaultValue="abc" />
<asp:ControlParameter Name="Region" ControlID="hdnregion" DbType="Int32" PropertyName="Value" DefaultValue="" />
</WhereParameters>
</asp:EntityDataSource>
Hi I'm using EntityDataSource to retrieve my items, and i want to get the items for a particular region. (items and regions has a many to many relationship, thus item has a regions navigation property). and I'm using "IN" to filter the items. tried several combinations and it kept on throwing various errors. how can i get this sorted out:
Below is My DataSource:
<asp:EntityDataSource ID="CataloguesDataSource" runat="server" ConnectionString="name=ModelContainer"
DefaultContainerName="ModelContainer" EnableInsert="false" EnableUpdate="false" OrderBy="it.EndDate desc,it.id desc" Include="it.Regions"
EntitySetName="Catalogues" Select="it.Id,it.Name,it.StartDate,it.EndDate,it.RetailerId"
Where="it.Retailer.Name=@RetailerName and @Region IN (select p.Id from it.Regions as p)" >
<WhereParameters>
<asp:ControlParameter Name="RetailerName" ControlID="hdnRetailer" DbType="String" PropertyName="Value" DefaultValue="abc" />
<asp:ControlParameter Name="Region" ControlID="hdnregion" DbType="Int32" PropertyName="Value" DefaultValue="" />
</WhereParameters>
</asp:EntityDataSource>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通常使用 in 关键字的方式如下。
这是使用 MVC 3 的情况,并且是在使用实体框架的控制器中。
Typically using the in keyword is done as follows.
This is with MVC 3 and this is in the controller using Entity framework.