현재 Entity Framework를 사용하여 .net CORE에서 웹 API를 만들고 있습니다. Entity Framework 핵심 linq 쿼리가 InvalidCastException을 반환합니다.
내가 LINQ와 ID에 의해 하나의 레코드를 선택하려고 할 때마다
, 나는 다음과 같은 오류 얻을 : 내가 가지고있는int id = 1;
User user = context.Users.First(i => i.UserId == id);
:이 오류가 발생
An exception of type 'System.InvalidCastException' occurred in Microsoft.EntityFrameworkCore.dll but was not handled in user code.
Additional information: Unable to cast object of type 'System.Int32' to type 'System.Char'.
을 나는 다음과 같은 LINQ 쿼리를 실행할 때마다 이미 확인되었으며 필드 UserId
과 변수 id
은 모두 정수입니다. 또한 테이블에는 충분한 요소가 들어 있고 id
이 1 인 행이 있습니다.
아무도 내가 여기서 잘못하고있는 것을 말해 줄 수 있습니까?
편집 :
public class User
{
public int UserId { get; set; }
(...)
}
나는 아직이 질문에 답할 수있는 충분한 정보가 없다고 생각합니다. 최소한 테이블 정의와 클래스 정의도 필요합니다. – hvd
i.UserId == id 대신 i.UserId.Equals (id)를 사용해보십시오 –
@hvd'User' 모델의 일부를 추가했습니다. – Max