Простой метод использует коррелированный подзапрос:
select t.*
from t
where t.tradetime = (select min(t2.tradetime) from t t2 where t2.stock = t.stock);
Я думаю, что Вы в основном на правильном пути - Если бы Вы уже не имеете, я предложил бы смотреть на Иглу Носорога, платформа WebForms MVC, Вот хорошее сообщение в блоге на этом , и источник здесь - Ayende (Автор Иглу Носорога) занимается проблемой использования Виндзора с веб-формами вполне хорошо в этом проекте/библиотеке.
я кэшировал бы отражательную информацию, если Вы собираетесь ввести весь вложенный набор средств управления, которые могли бы закончить тем, что были чем-то вроде пожирателя ресурсов производительности, которого я подозреваю.
В последний раз всего spring.net приближается к этому более ориентированным на конфигурацию способом, но это могло бы стоить смотреть на их реализацию - вот польза ссылочное сообщение в блоге на этом.
Вместо того, чтобы делать это так, вы также можете напрямую использовать преобразователь типов, например:
ILogger Logger = ResolveType.Of<ILogger>();