2012-02-09 6 views
0

쿼리에 열이있는 경우 엔티티 클래스의 속성 만 채우는 방법을 찾고 있습니까?존재하는 경우 엔티티 프레임 워크 맵 열

DbSet.SqlQuery를 사용하여 쿼리를 실행하고 별칭 인 열을 채우면 모든 것이 정상입니다. 그러나 All(), Find(), ToArray() 등의 내장 기능을 사용하면 해당 열이 데이터 집합에 포함될 것으로 기대합니다.

내 엔터티 클래스의 속성을 선택 사항으로 표시하는 방법이 있습니다 (지원 쿼리를 모두 직접 작성하지 않아도 됨).

현재 nullable DateTime으로 표시되어 있지만 프레임 워크는 기본 제공 기능을 사용할 때 프레임 워크가 존재하지 않는다고 여전히 불만합니다.

어떤 제안이 좋을까요?

건배

답변

1

아니오, 그들은 SQL 쿼리를 작성해야하기 때문에 아니오. 열이 nullable인지 아닌지는 중요하지 않습니다. 중요한 것은 쿼리를 작성할 때 해당 열이 없으면 데이터베이스가 열이 존재하지 않는다고 오류를 던질 가능성이 있습니다.

유일한 방법은 매핑하지 않고 속성을 매핑하고 조건부로 매핑 할 때 스키마를 쿼리하는 것입니다 (권장하지는 않지만).

+0

Urgh, thanks Darren. DbSet에서 엔터티 클래스를 채우는 가상 메서드가 있다는 것을 상기합니다. 올바르게 호출했다면이 값을 무시하고 그 값이 행에 있으면 "notmapped"속성을 설정할 수 있습니다. 다시 한 번 감사드립니다. – Gavin