Зачем в nHibernate классах все поля virtual?
От: SteeLHeaD  
Дата: 10.11.14 13:02
Оценка:
Господа,
я не так давно начал пользоваться этой замечательной ORM,
и хочу разобраться в некоторых вещах на более высоком уровне, чем просто "делай как в примерах".
Речь идет вот о чем: если взять типичный пример класса, который будет мэпиться на базу, то он выглядит как
  public class Офис
  {
    public virtual int Id { get; set; }
    public virtual int Статус { get; set; }
    public virtual string Идентификатор { get; set; }
    public virtual string Примечание { get; set; }
  }

Все свойства помечены как virtual.
Начал читать умную книжку "Schenker G. Cure A. — NHibernate 3 Beginners Guide".
Но н а мой вопрос там пока нашлась только фраза о том, что
"Note that the properties are all declared as virtual.
This is needed as NHibernate uses lazy loading by default."
Что такое лэйзи лоадинг — я, по крйаней мере, имею представление.
Опять таки, как я понимаю — модификатор virtual разрешает
переопределение свойств в производном классе.
Но как оно нужно друг для друга — не могу себе представить.

Нет ли у кого простого и понятного объяснения, зачем это нужно?

Спасибо заранее за пинок в нужную сторону!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.