Ваши классы могут реализовывать интерфейс, который определяет, какие свойства представляют ключ и значение для раскрывающегося списка:
public interface IKeyValuePair
{
int Key { get; }
string Value { get; }
}
Затем создайте метод, который принимает IEnumerable<KeyValuePair>
и заполняет раскрывающийся список. Вы можете использовать метод расширения Linq Convert для преобразования коллекций, возвращаемых NHibernate, в IEnumerable<KeyValuePair>
.