반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발꿈나무

[ASP.NET] InvalidCastException: 열에 널 데이터가 있습니다. 본문

C#/C#

[ASP.NET] InvalidCastException: 열에 널 데이터가 있습니다.

HYOKYE0NG 2021. 9. 16. 10:50
반응형

InvalidCastException: Column contains NULL values

 

public async Task<IActionResult> Errors()
{
    var ErrorLists = from f in _context.W_ERRORS select f;

    return View(await ErrorLists.ToListAsync());
}

위 소스코드에서 ErrorLists를 view로 넘겨줄 때 다음과 같은 InvaliidCastException: Column contains NULL values

(열에 널 데이터가 있습니다.)라는 오류가 발생했다.

 

_context.W_ERRORS는 총 5개의 컬럼으로 구성되어 있으며 날짜타입인 timestamp만 not null 컬럼이다.

public async Task<IActionResult> Errors()
{
    var ErrorLists = from f in _context.W_ERRORS where f.DCT_NO != null select f;

    return View(await ErrorLists.ToListAsync());
}

혼자 삽질을 하다가 DCT_NO(첫번째 컬럼) != null이라는 조건을 추가해주었는데 DCT_NO이 null이 아닌 행들이 제대로 출력되는 것을 볼 수 있었다.

 

첫번째 컬럼이 null이면 데이터를 가져올 수 없는 건가라는 혼자만의 소설을 써내려가다

DBContext를 정의해놓은 파일에서 다음과 같은 코드를 보았다.

modelBuilder.Entity<W_ERROR>()
	.HasKey( w => new { w.DCN_NO, w.W_TIMESTAMP } );

DCN_NO은 NULL 허용 컬럼으로 NULL 데이터가 들어있는데 model을 정의하면서 key로 설정해놓은 것이 문제였다.

key를 timestamp 하나로 정의하고 원래의 소스코드로 실행하니 제대로 실행되었다.

 

 

반응형
Comments