我有兩個表:ASP.NET - 先進的WHERE子句中的LinqDataSource
- 訂單
- OrderProducts - 一個訂單可以有1到與它相關的許多orderProducts記錄。
我所試圖做的(失敗)是使用的LinqDataSource其中搜索返回結果進行排序,其中任何OrderProduct.Manufacturer列包含搜索查詢來實現GridView的搜索。
我希望下面會的工作,但它似乎lambda表達式不(在VB)一個的LinqDataSource的Where子句中工作:
<asp:LinqDataSource ID="dsOrders" runat="server" ContextTypeName="myDataContext" TableName="orders"
Where="orderProducts.Any(Function(op) op.Manufacturer.Contains(@searchTerm))">
<WhereParameters>
<asp:ControlParameter Name="searchTerm" ControlID="txtSearchTerm" DefaultValue="" />
</WhereParameters>
</asp:LinqDataSource>
在C#中它會看起來像:
<asp:LinqDataSource ID="dsOrders" runat="server" ContextTypeName="myDataContext" TableName="orders"
Where="orderProducts.Any(op => op.Manufacturer.Contains(@searchTerm))">
<WhereParameters>
<asp:ControlParameter Name="searchTerm" ControlID="txtSearchTerm" DefaultValue="" />
</WhereParameters>
</asp:LinqDataSource>
我得到的錯誤是:
無屬性或字段「運」存在於 型「 orderProduct'
有關如何在LinqDataSource定義中使用此工作的任何線索,還是必須處理和設置自定義的OnSelecting事件?
可以請你分享語法參考源..怎麼寫這些,其中的原因和其他像DataContenxt.Users.Where(U => u.UserPackages.Any關係(p => p.Status ==「Subscription Active」)) – 2014-02-10 06:52:02
對於任何比我在原始答案中提到的更先進的東西,您總是可以覆蓋LinqDataSource實例的Selecting事件,並完全控制您的確切數據需要。 – Keith 2014-02-10 15:24:23
@凱思你能否幫忙回答這個問題: http://stackoverflow.com/questions/25353225/how-do-i-use-entitydatasource-or-linqdatasource-with-a-union-clause – Simua 2014-08-19 09:14:11