是否有可能... ???我的主页上有4个DropDownLists,用户可以从DropDownLists的任何,全部或部分 中进行选择。我正在使用SESSION 变量捕获他们的选择(或不选择)。我希望能够做的是通过会话 变量值到我的数据访问层,并建立一个WHERE子句 (可能使用StringBuilder的),然后把这个变量不知何故进入 我的查询表达式。那可能吗???对不起,我是新手。谢谢〜苏珊〜LINQ到实体复杂的查询
public class DLgetRestaurants
{
FVTCEntities db = new FVTCEntities();
public List<RESTAURANT> getRestaurants(string cuisineName, string priceName, string cityName)
[Build a string based on the values passed to the function]
{
var cuisineID = db.CUISINEs.First(s => s.CUISINE_NAME == cuisineName).CUISINE_ID;
List<RESTAURANT> result = (from RESTAURANT in db.RESTAURANTs.Include("CITY").Include("CUISINE").Include("Price")
where **[USE STRINGBUIDER EXPRSSION HERE]**
select RESTAURANT).ToList();
return result;
}
}
我不熟悉如何做到这一点。你有样品吗? – Susan
您必须添加对System.Linq.Dynamic的引用。然后,你可以写这样的查询db.Restaurants.Where(myFilter)。 Myfilter是一个字符串,可以包含“cuisine_name ='意大利语'” – boca
哇,谢谢!这对简化我的代码很有帮助。问候,〜苏珊〜 – Susan