람다 식은 대리자 형식이 아니므로 'string' 형식으로 변환할 수 없습니다.
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;
이 시스템 클래스에서.
추가합니다.using System.Data.Entity;
규칙대로
제 경우에는, 추가해야 했습니다.using System.Data.Entity;
내 사건은 내가 사용하고 있던 것이 해결되었습니다.
@Html.DropDownList(model => model.TypeId ...)
사용.
@Html.DropDownListFor(model => model.TypeId ...)
해결할 것입니다
다른 사용자가 지정한 지침을 사용하여 누락하는 것과 관련이 없는 경우 쿼리에 다른 문제가 있는 경우에도 이 문제가 발생합니다.
VS 컴파일러 오류 목록 확인: 예를 들어 쿼리에 "Value" 변수가 없으면 "lambda to string" 오류가 발생하고 알 수 없는/잘못된 필드와 관련된 오류가 몇 개 더 발생합니다.
당신의 경우 다음과 같을 수 있습니다.
objContentLine = (from q in db.qryContents
where q.LineID == Value
orderby q.RowID descending
select q).FirstOrDefault();
오류:
오류 241 람다 식이 대리자 유형이 아니므로 람다 식을 'string' 유형으로 변환할 수 없습니다.
오류 242 '시스템' 위임.Func<...>'은(는) 1개의 인수를 사용하지 않습니다.
오류 243 '값' 이름이 현재 컨텍스트에 없습니다.
"Value" 변수 오류를 수정하면 다른 오류도 사라집니다.
지금 이 문제에 비틀거리는 사람들을 위해, 저는 모든 참조와 적절하게 배치된 진술을 사용하여 던져진 이런 유형의 오류를 해결했습니다.선언된 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% 확신할 수 없지만, 이런 유형의 오류로 인해 좌절하는 사람이 있다면, 이것을 시도해 보십시오.
언급URL : https://stackoverflow.com/questions/19197481/cannot-convert-lambda-expression-to-type-string-because-it-is-not-a-delegate-t
'source' 카테고리의 다른 글
Openpyxl 인덱스별 워크시트에서 행을 가져오는 방법 (0) | 2023.05.11 |
---|---|
csv nodejs를 내보내는 방법 (0) | 2023.05.11 |
이클립스에서는 다른 안드로이드 프로젝트에서 안드로이드 라이브러리 프로젝트를 참조할 수 없습니다. (0) | 2023.05.06 |
Angular에서 개체 위에 반복 (0) | 2023.05.06 |
Git 및 일부 Git diff에서 커밋되지 않은 변화를 자세히 보여주는 방법 (0) | 2023.05.06 |