Подход, который вы можете использовать, - это использование DataReader и передачи. Таким образом, для каждого объекта, с которым вы хотите работать, определите класс в папке объекта передачи данных (или, тем не менее, ваш проект структурирован), тогда в вашем слое доступа к данным есть что-то вроде следующего:
Мы использовали нечто очень похожее на это в проекте с сильно нормализованной базой данных, но в коде нам эта нормализация не требовалась, поэтому мы использовали процедуры для помещения данных в более удобные для использования объекты. Если вам нужно также сохранить эти объекты, вам потребуется обработать перевод объектов в команды базы данных.
Что такое быстрый \ простой способ сделать
это?
В зависимости от количества классов и т. Д., Это может быть не самый быстрый подход, но он позволит вам использовать объекты очень похоже на объекты Linq и в зависимости от типа используемых коллекций (IList, IEnumerable и т. Д.) Вы будете возможность использовать методы расширения для этих типов коллекций.
public IList<NewClass> LoadNewClasses(string abc)
{
List<NewClass> newClasses = new List<NewClass>();
using (DbCommand command = /* Get the command */)
{
// Add parameters
command.Parameters["@Abc"].Value = abc;
// Could also put the DataReader in a using block
IDataReader reader = /* Get Data Reader*/;
while (reader.Read())
{
NewClass newClass = new NewClass();
newClass.Id = (byte)reader["Id"];
newClass.Name = (string)reader["Name"];
newClasses.Add(newClass);
}
reader.Close();
}
return newClasses;
}