2016-08-28 2 views
-2

Я пытаюсь создать инструкцию LINQ. с тем, где пункт как этотОператор LINQ с предложением where не работает правильно

p.Users = db.UserFSMs 
     .Where(t => t.UserName.Contains(userORFile.Split('_')[2])) 
     .Select(new Models.UsersFSMFinal { Email=t.Email }); 

Но компилятор не распознает t. Как я могу создать выше запрос, который будет работать там где?

+0

проверить мой ответ –

+0

Просто синтаксическую ошибку. Здесь вы должны прочитать синтаксис lamba: https://msdn.microsoft.com/en-us/library/bb397687.aspx – sam

ответ

1
  • вы должны объявить t=> снова с .Select(t => new

  • Я написал то же самое заявление LINQ, но на моей базе данных и вставленные данные будут из текстового поля. Он работал отлично

    var allData = db.Patients 
        .Where(t => t.firstName.Contains(TextBox1.Text)) 
        .Select(t => new 
        { 
          t.firstName, 
          t.lastName 
        }); 
    
+0

Я не вставляю в базу данных, я отправляю данные для просмотра. поэтому я не могу отправить 'var', набранный для просмотра, мне нужен конкретный тип. – Alex

+0

@Alex Хотя это не лучший сформулированный ответ, это технически правильно. Просто прочитайте начало - вставьте 't =>' в 'Select'. Тогда вы получите исключение во время выполнения, но это уже другая история. –