Ошибка Linq-to-sql: 'int []' не содержит определения для 'Contains'
У меня есть ошибка:
Ошибка 2 'int []' не содержит определения для "Содержит" и лучший метод перегрузки расширения "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;
}
}
}
Ответы
Ответ 1
Я сильно подозреваю, что 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);
Ответ 2
item.Type
не является int
.
Ответ 3
var consulta = from pr in lsprodcts
where pr.nProductoID.ToString().Contains(Idproducto.ToString())
select new
{
pr.nProductoID,
ProdName = pr.cNombre,
pr.cDescripcion,
};
`