내가하고있는 프로젝트에는 응용 프로그램 동작을 변경하는 데 사용되는 많은 정보가 포함 된 레거시 데이터베이스가 있습니다. 기본적으로 나는 무언가에 붙어있어 슈퍼에 대해 신중하게 변경해야합니다.NHibernate, 레거시 데이터베이스, 외래 키가 아닌
내 문제가 있습니다. 이 데이터베이스에는 테이블이 있고이 테이블에는 열이 있습니다. 이 열은 정수를 포함하며 대부분의 기존 데이터는이 열의 값이 0입니다.
이 열은 사실 다른 엔티티에 대한 외래 키 참조이며, 데이터베이스 스키마에서는이 열을 정의하지 않은 것입니다.
이제 새 코드에서 Fluent-NHibernate 매핑을이 열을 참조로 취급하여 엔티티 ID를 직접 코드에서 처리 할 필요가 없도록 정의했습니다. 이 열에 값이 0 인 엔티티가 나타날 때까지 제대로 작동합니다.
NHibernate는 값 0은 유효한 참조라고 생각합니다. 내 코드가 참조 된 객체를 사용하려고하면 ObjectNotFoundException이 발생합니다. ID가 0 인 데이터베이스에는 객체가 없습니다.
매핑이나 일종의 컨벤션을 통해 어떻게 할 수 있습니까? -nhibernate), NHibernate가 NULL 인 것처럼 0 인 id를 처리하도록합니까?