2010-03-24 3 views
1

Я получаю эту ошибку, когда я использую выражение Linq изLinq запросов Давать Ошибка

var emp = _testModel.Where(m => m.Date == DateTime.Now).Select(m=>m); 

не Ошибку

'System.Collections.Generic.IEnumerable<TestModel>' does not contain a definition for 'System' and no extension method 'System' accepting a first argument of type 'System.Collections.Generic.IEnumerable<TestModel>' could be found (are you missing a using directive or an assembly reference?). 

Я google'd и смотрел везде Понятия не имею, что это о чем? Это не исключение. Единственный способ, которым я узнал об этом, - это преодолеть это выражение.

Namespaces, которые ввозятся

using System; 
using System.Collections; 
using System.Linq; 
using System.Collections.Generic; 

Пытались что-то вроде этого, и она по-прежнему дает erros

string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; 

    var shortDigits = digits.Where((digit, index) => digit.Length < index); 
+0

У меня нет абсолютно никаких проблем с вашим строковым массивом, weird – Graviton

+0

Каковы ваши имена/имена классов? Там какое-то столкновение? – Tanzelax

ответ

0

Оказывается, есть ошибка в телефоне 7-й серии Windows, и это мешает мне смотреть в результатах.

2

может быть, вы должны поставить

using System.Linq; 

в начале файла CS.

См. Здесь a similar case.

+0

Это было уже в моем файле. –

+0

То есть System.Linq – leppie

0

Может быть, что _testModel имеет тип IEnumerable и не IEnumerable(Of T) не родовое IEnumerable не метод расширения Where.

Вы можете попробовать

var emp = _testModel.OfType<T>().Where(p => p.Date == DateTime.Now); 

где T должна быть типом родовыми перечислимы вы хотите в этом случае типа, который вы хотите p быть.

+0

Нет, не работает. Я даже попробовал второй пример, который я разместил. По-прежнему такая же ошибка, что и странно. –

+0

@ user275561 Я попробовал второй пример как есть, и он отлично работает. Возможно, есть код до или после него, который ломается? Пробовали ли вы второй пример без использования другого кода? – Cornelius

1

Это должно быть проблемой в части кода, который вы нам пока не показываете. Этот код компилируется нормально с использованием .NET 3.5:

using System; 
using System.Collections; 
using System.Linq; 
using System.Collections.Generic; 

class TestModel 
{ 
    public DateTime Date { get; set; } 
} 

class Test 
{ 
    public void TestFunction() 
    { 
     IEnumerable<TestModel> _testModel = new TestModel[] { new TestModel() }; 
     var emp = _testModel.Where(m => m.Date == DateTime.Now).Select(m => m); 

     string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; 
     var shortDigits = digits.Where((digit, index) => digit.Length < index); 
    } 
} 
Смежные вопросы