Ответ 1
Я думаю, что в этом системном классе отсутствует using System.Linq;
.
а также добавить System.Data.Entity;
в код
Я использую выражение lambda LINQ следующим образом:
int Value = 1;
qryContent objContentLine;
using (Entities db = new Entities())
{
objContentLine = (from q in db.qryContents
where q.LineID == Value
orderby q.RowID descending
select q).FirstOrDefault();
}
Однако я получаю следующую ошибку:
Невозможно преобразовать лямбда-выражение для ввода 'string', потому что это не тип делегата
Я думаю, что в этом системном классе отсутствует using System.Linq;
.
а также добавить System.Data.Entity;
в код
В моем случае мне пришлось добавить using System.Data.Entity;
В моем случае он решил использовать
@Html.DropDownList(model => model.TypeId ...)
используя
@Html.DropDownListFor(model => model.TypeId ...)
решит его
Если это не связано с отсутствием директив, заявленных другими пользователями, это также произойдет, если возникнет другая проблема с вашим запросом.
Посмотрите на список ошибок компилятора VS: Например, если переменная "Значение" в вашем запросе не существует, у вас будет ошибка "лямбда-строка", а несколько ошибок после другого еще связаны с неизвестным/ошибочным полем.
В вашем случае это может быть:
objContentLine = (from q in db.qryContents
where q.LineID == Value
orderby q.RowID descending
select q).FirstOrDefault();
Ошибки:
Ошибка 241 Невозможно преобразовать лямбда-выражение для ввода 'string', потому что это не тип делегата
Ошибка 242 Делегат 'System.Func <.. > ' не принимает 1 аргумент
Ошибка 243 Имя "Значение" не существует в текущем контексте
Исправьте переменную переменной "Значение" , и другие ошибки также исчезнут.
Для людей, которые просто спотыкаются об этом сейчас, я решил ошибку такого типа, которая была выбрана со всеми ссылками и использовала правильные положения. Очевидно, есть некоторая путаница с заменой функции, возвращающей DataTable, вместо того, чтобы вызывать ее в объявленном DataTable. Например:
Это сработало для меня:
DataTable dt = SomeObject.ReturnsDataTable();
List<string> ls = dt.AsEnumerable().Select(dr => dr["name"].ToString()).ToList<string>();
Но этого не произошло:
List<string> ls = SomeObject.ReturnsDataTable().AsEnumerable().Select(dr => dr["name"].ToString()).ToList<string>();
Я все еще не уверен на 100%, но если кто-то разочарован ошибкой этого типа, попробуйте это.