동적 식 API를 사용하는 데 문제가 있습니다. DataTable 필드를 DBNull.Value와 비교할 수 없습니다. API는 "정적 필드 또는 정적 속성 액세스를 지원할 수 있어야합니다. 모든 공개 필드 또는 속성에 액세스 할 수 있습니다."LINQ 동적 식 API, DBNull.Value 비교가있는 조건 자
var whatever = table1.AsEnumerable()
.Join(table2.AsEnumerable(),
(x) => x.Field<int>("Table1_ID"),
(y) => y.Field<int>("Table2_ID"),
(x, y) => new { x, y})
.AsQueryable()
.Where("x[\"NullableIntColumnName\"] == DBNull.Value");
I 오류 치울 : 그러나 다음 쿼리 주어진 "아니오 속성 또는 필드 'DBNull이' '<> f__AnonymousType0`2'형태로 존재하는"
누구나하는 방법에 대한 아이디어를 가지고 이 주변? Submission.Field ("NullableIntColumnName") 문자열을 Where 메서드를 전달할 수 없습니다, btw 또는 다른 DBNull.Value 대신 null 비교할 수 있습니다. 당신이
당신이 소스에보고하셨습니까 USL과 비 대답 죄송합니다
.Where(string.format("x[\"NullableIntColumnName\"] == {0}",DBNull.Value));
사용자 지정 선택 부분을 사용하기 때문에 해당 솔루션이 작동하지 않습니다. 선택 부분에서 DTO와 같은 사용자 정의 된 객체를 사용하면 열의 유형도 Null 가능합니다. – ahmet