06 апреля 2010

.NET встреча в четверг (8 апреля) в 19-00

В четверг (8 апреля) 19-00 планируется следующая встреча .NET разработчиков в Уфе.

Тематика встречи (по результатам прошлой):
  • [abdullin]: Интервью в зарубежные IT компании (по мотивам презентации в институте Права)
  • [eye-ru]: Web проекты на основе ASP.NET MVC + NHibernate
  • [abdullin]: Масштабирование web проектов и реализация бизнес-процессов (CQRS + ASP.NET MVC + NHibernate + NServiceBus)

Место встречи — в центре (ближе к четвергу — будет яснее).

Новички и приверженцы альтернативных религий (не .NET) — приветствуются.

Кому интересно — отмечайтесь в комментариях, чтобы заранее определиться с количеством присутствующих и местом.

Update: место сбора на этот раз снова КофеИн (Советская Пл.). Мой тел: +7(917)461-38-26
+2
21 января 2010

Как получить имя колонки таблицы на которую мапится свойство NHibernate класса?

How to Get Field's Name from property?

Понадобилось мне получить в runtime имя колонки таблицы на которую мапится NHibernate объект. Вот и наваял хелпер для этого.

public class NHibernateHelper
    {
        private ISessionFactory _factory;
        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="factory"></param>
        public NHibernateHelper(ISessionFactory factory)
        {
            if (factory == null) throw new ArgumentNullException("factory");
            _factory = factory;
        }

        /// <summary>
        /// Метод возвращает название колонки таблицы на которую мапится свойство
        /// </summary>
        /// <typeparam name="T">NHibernate класс</typeparam>
        /// <param name="propertyName">Имя свойства</param>
        /// <returns>Имя колонки таблицы</returns>
        public string TableColumn<T>(string propertyName) where T: class
        {
            SingleTableEntityPersister persister = (SingleTableEntityPersister)_factory.GetClassMetadata(typeof(T)); ;
            return persister.GetPropertyColumnNames(propertyName)[0];
        }
    }


Пример использования

Helpers.NHibernateHelper entityHelper = new Helpers.NHibernateHelper(Domain.SessionFactory);
entityHelper.TableColumn<DocumentType>("FormatSerNum");
+1