Linq2Sql 사용시 저장 프로 시저에서 반환 된 Nullable<T>
필드를 처리하기 위해 메모리 및 CPU 시간을 고려한 모범 사례에 대한 제안을 찾고 있습니다. Nullable <T> 형식 저장 프로 시저에서 반환 된 처리하는 방법?
- 나는 코드에서 사방 fieldValue.HasValue 검사를 사용하지 않도록합니다. 따라서, 나는 모든
Nullable<T>
을 기본 속성 (esp DateTime, Double, Int)으로 대체해야합니다. - Nullable 유형 ~ 20 개의 필드가있는 1 백만 개의 개체를 읽을 것으로 예상됩니다.
- 메모리 및 CPU 사용은 중요한 고려 사항입니다.
- 요구 사항은 DataRow가 아닌 객체에 저장된 proc를 가져와 Linq2Sql을 사용하는 것입니다.
비슷한 상황을 처리하는 데 의견이나 경험을 말하십시오.
관심을 가져 주셔서 감사합니다. 당신이 비에 데이터를 삽입 할 경우 (실제로는 그리 많은 것이있다), null
이외의 기본값을 설정 사용되는 각 유형에 대해
public static string SafeGetString(this SqlDataReader _Reader, int _ColIndex)
{
if (_Reader.IsDBNull(_ColIndex))
return null; //Default value
else
return _Reader.GetString(_ColIndex);
}
: 당신 같은 확장 방법을 쓸 수
입력란이 null 인 경우 어떻게 하시겠습니까? – msarchet
LINQ to SQL은 어려운 핵심 요구 사항입니까?내가 묻는 이유는 오버 헤드가 있고 성능/메모리 이유로 저장 프로 시저 또는 쿼리를 실행하는 것이 가장 좋기 때문입니다. –
"모든 것을 ... 기본값으로 바꿔야합니다." 그 제한이 있기 때문에 선택한 기본값이 실제 데이터 인 상황에서 데이터의 의미가 본질적으로 변경됩니다. 데이터에 유효한 값 (항상 논쟁의 여지가있는)이없는 경우 왜 처음에는 Nullable (또는 null 입력 가능 열)을 사용합니까? –