Использование C #, asp.net 3.5, SqlServer 2005,
Попытка включить некоторую инверсию управления вместе с 3-уровневой архитектурой в мое текущее назначение.
Не знаю достаточно, чтобы понять, хорошая ли это идея или невероятно глупая:
Я создал уровень пользовательского интерфейса, бизнес-уровень и уровень данных.
Пользовательский интерфейс собирает 4 значения, News - экземпляр класса Business Layer (назовем его c), инициализируя его 4 значениями.
Затем пользовательский интерфейс вызывает метод этого экземпляра класса Business Layer для сохранения данных.
Метод класса Business Layer создает строку tsql, такую как
String.Format (@ ”вставить в table1 (col1, 'col2', 'col3', col4) значения ({0}, {1}, {2}, {3}); выбрать @@ identity”, c.one, c.date1, c.date2, c.four);
и передает строку в метод int класса на уровне данных.
Уровень данных использует строку в качестве CommandText для ExecuteScalar и возвращает идентификатор @@ в Бизнес-уровень.
Я бы использовал вариант той же концепции для извлечения данных через устройство чтения данных.
Объем данных не будет большим, и это не будет приложение большого объема.
В прошлом я делал так, чтобы передать 4 значения, собранные в пользовательском интерфейсе, через бизнес-уровень на уровень данных, настроить sqlparms, передать значения в хранимую процедуру и т. Д., Передать их обратно в бизнес уровень и т. д.