2009-12-07 5 views
0

NHibernate를 사용하여 객체를 유지합니다. 그러나 입력을 인코딩해야하는지에 대한 정보를 찾을 수없는 것 같습니다. 예를 들어NHibernate : 입력을 인코딩해야합니까?

:

string firstName = TextboxFirstName.Text; 
string lastName = TextboxLastName.Text; 

using(ISession session = sessionFactory.OpenSession()) 
{ 
    Customer customer = new Customer(firstName, lastName); 
    session.SaveOrUpdate(customer);   
} 

내가 firstNamelastName (특히 단일 qoutes)를 인코딩해야, 또는 NHibernate에 나를 위해 이렇게 않습니다합니까?

답변

0

Customer 인스턴스는 단순히 도메인 모델 내의 개체입니다. 그것이 전부입니다. NHibernate는 단순히 배후에 있습니다 - 당신이 도메인 모델에 접근 할 수있는 윈도우입니다.

NHibernate는 도메인 모델이 올바르게 유지되도록합니다. 그것은 당신이 당신의 객체에 문자열 프로퍼티를 인코딩하는 것과 같은 많은 일을 할 필요없이 이것을합니다. 새 Customer 인스턴스를 생성하고, 새 인스턴스의 NHibernate에 통보하고자하는 경우

또한, 당신은 오히려 ISession.SaveOrUpdate보다는 API 방법 ISession.Save을 사용해야합니다. API 메소드 ISession.Save은 새 인스턴스를 도메인 모델에 (그리고 투명하게 데이터베이스에) 저장합니다.

+0

SaveOrUpdate는 정상적으로 작동합니다. 고객이 와 같은 매핑 된 자동 할당 ID를 가지고 있다고 추측합니다. 이 경우 NHibernate는 새로운 고객인지 여부를 스스로 알아낼 수 있습니다. –

+0

Daniel Schilling - 를 사용하고 있지만 올바른 추론을 적용 할 수 있습니다. –

3

하이버 네이트가 모든 것을 처리 할 것입니다. 이 경우 속성은 문자열 일 필요가 있습니다.

관련 문제