NHibernate: я должен кодировать входы? - PullRequest
0 голосов
/ 07 декабря 2009

Я использую NHibernate для сохранения своих объектов. Однако я не могу найти никакой информации о том, нужно ли мне кодировать входы?

Например:

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

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

Нужно ли мне кодировать firstName и lastName (в частности, одиночные квоты), или NHibernate делает это для меня?

Ответы [ 2 ]

3 голосов
/ 07 декабря 2009

Hibernate позаботится обо всем этом для вас. В этом случае свойства просто должны быть строками.

0 голосов
/ 07 декабря 2009

A Customer экземпляр - это просто объект в вашей доменной модели. Это все, что есть. NHibernate просто за кулисами - это окно, через которое вы можете получить доступ к модели вашего домена.

NHibernate обеспечивает правильное сохранение модели вашего домена. Это делается без необходимости делать что-либо, например, кодировать строковые свойства ваших объектов.

Кроме того, если вы создаете новый экземпляр Customer и хотите сообщить NHibernate о новом экземпляре, вам следует использовать метод API ISession.Save, а не ISession.SaveOrUpdate. Метод API ISession.Save сохранит новый экземпляр в модель предметной области (и, прозрачно, в базу данных).

...