2009-12-08 3 views
0

Uri의 여러 부분이있는 Url 속성에 몇 가지 Uri 속성이 있어야 도메인 개체를 가질 수 있습니다.이 Uri 속성은 검색 후 속성을 다시 구성해야하는 Uri의 여러 부분으로 구성되어 있습니다. 속성을 충분히 저장할 수 있지만 NHibernate에 Uri 속성을 다시 만드는 방법을 어떻게 알 수 있습니까? Uri 객체의 대부분의 속성을 직접 설정할 수는 없습니다. 오히려, URL은 조립되어 우리 생성자에게 전달되어야합니다.NHibernate persist System.Uri

답변

2

필자는 개인적으로 매우 유용하게 열린 우리당 유형을 찾을 수 없습니다하지만 내가 생각할 수있는 두 가지 옵션이 있습니다 :

  1. IUserType을 구현하여 새로운 사용자 유형 만들기 (http://intellect.dk/post/Implementing-custom-types-in-nHibernate.aspx 참조 - 열린 우리당 구현을위한 검색 그것은 약 절반 방법입니다)
  2. NHibernate에 매핑되어있는 보호 된 문자열 속성을 만들고 주위에 공용 URI를 래핑하십시오.

나는이 연주하지만 당신은 내가 대신 IUserType의 ICompositeUserType을 구현하는보고 싶은 생각 열린 우리당의 속성을 매핑 찾고 있습니다 부여하지 않은

UPDATE. 이 게시물을 참조하십시오 (Uri를 기반으로하지는 않지만 포인터에 유용 할 수 있습니다). http://www.lostechies.com/blogs/rhouston/archive/2008/03/23/mapping-timestamp-data-using-nhibernate-s-icompositeusertype.aspx

+0

나중의 분석을 위해 데이터베이스의 열로 저장된 URL의 개별 부분이 필요하기 때문에 어느 솔루션도 작동하지 않습니다. – Chris

+0

아, 그 부분을 놓쳤습니다, 미안 해요. 그런 다음 의도적으로 검색하거나 uri의 세그먼트를 기반으로 검색합니까? 나는. obj o 어디에서 o.Uri.Host == 'foo'? –

관련 문제