【发布时间】:2015-01-30 18:00:24
【问题描述】:
我正在开发一个 asp.net mvc 5 应用程序,我正在尝试过滤一个列表,但是当我进行多项选择时,我总是会得到一个糟糕的结果。我使用带有复选框的简单表单来了解选择了哪个任务的标准。
我的数据库:
Table Mission 有一个条件列表(表:CriteriaList)
// public virtual ICollection<Criteria> CriteriaList { get; set; }
int[] CriteriaSelected = List of criteria selected in the form
var items = from i in db.Missions select i;
foreach (var criteriaID in CriteriaSelected)
{
items = items.Where(m => m.CriteriaList.Any(c => c.CriteriaID == criteriaID ));
}
我知道用于连接多个“where”的“and”运算符可能存在问题,因为我只选择了一个复选框就得到了正确的结果。但我现在有点迷失了做多项选择标准
非常感谢您的帮助
【问题讨论】:
-
请注意,您的代码与 asp.net mvc 无关。 Mvc 在框架内没有数据访问。您很可能正在使用实体框架。
-
你是完全正确的,我试图提供更多我能提供帮助的信息,但没有注意到它与 asp.net mvc 无关