2

계산 된 열이있는 테이블이있는 SQL 2005/2008 데이터베이스가 있습니다. 우리는 계산 된 열을 NHibernate의 discriminator로 사용하므로 데이터베이스에있는 것이 매우 유용하다는 것이 입증되었습니다.계산 된 열을 지원하는 메모리 내 데이터베이스가 있습니까?

더 빠른 통합 테스트의 이점을 얻으려면 SQLite 또는 SQL CE와 같은 메모리 내장 데이터베이스에 대해 통합 테스트를 수행하고 싶습니다. 그러나 이들 중 어느 하나가 계산 된 열을 지원하지 않는다고 생각합니다.

다른 문제가 있습니까? 데이터베이스에 대한 완전한 액세스 권한이 있으며 더 나은 솔루션을 사용할 수 있다면 수정할 수 있습니다. 계산 된 열 대신 뷰를 사용하는 것이 좋습니다 this post을 보았습니다. 이것이 최고의 대안입니까?

답변

1

SqlCe에서 테이블을로드 할 때 계산 된 열이 DataTable에 추가되었습니다. 계산 된 DataColumn의 정의를 데이터베이스에 저장된 "구성"테이블에 저장했습니다. 각 테이블이보다 복잡한 기능의 단순한 기능을 수행하는 "체인"테이블에 의존하는 복잡한 계산을 수행 할 수있었습니다. (체인의 마지막 테이블에는 결과가 포함되어 있습니다.) 한 테이블에 5 천 5 백만 행이 포함되어 있기 때문에 SqlCe를 사용했습니다. ADO.NET의 메모리 내 데이터 세트에 대한 데이터가 너무 많습니다. (서버에 게시하기 전에 로컬 클라이언트 기반 계산을 사용해야한다는 요구 사항이있었습니다.)

관련 문제