我有一个错误:
错误 2 'int[]' 不包含 'Contains' 的定义并且最佳扩展方法重载 'System.Linq.Enumerable.Contains(System.Collections.Generic.IEnumerable, TSource)' 有一些无效参数
这是我的代码:
public partial class mymymy : System.Web.UI.Page
{
int[] validType = { 2, 3, 4, 5, 6, 8, 13, 14, 16, 22 };
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
using (var dc = new soxMainDataContext())
{
var qry = from item in dc.LeaveRequests
where **validType**.Contains(item.Type)
&& item.MgtApproval == null
select item;
e.Result = qry;
}
}
}
最佳答案
我强烈怀疑 item.Type
不是 int
。它是枚举吗?如果是这样,请尝试显式转换:
var qry = from item in dc.LeaveRequests
where validType.Contains((int) item.Type)
&& item.MgtApproval == null
select item;
或者,作为点符号:
var query = dc.LeaveRequests.Where(item => validType.Contains((int) item.Type)
&& item.MgtApproval == null);
关于c# - Linq-to-sql 错误 : 'int[]' does not contain a definition for 'Contains' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1069106/