У меня есть вопрос, на который я просто не чувствую, что нашел удовлетворительный ответ, либо я не искал в нужном месте.
Наша система изначально была построена с использованием .NET 1.1 (однако все проекты теперь поддерживают 3.5), и все сущности сохраняются в базе данных с использованием хранимых процедур и SQLHelper, который имеет стандартные методы типа ExecuteReader, ExecutreNonQuery.
Итак, что обычно происходит, у нас будут наши сущности, например, User и Role, и у нас будет еще один класс под названием UserIO, который сохраняет эти объекты в базе данных с помощью таких методов, как:
static UserIO.SaveUser(User user)
Причина для отдельного файла ввода-вывода состоит в том, чтобы отделить ввод-вывод от объекта, но разве не более удовлетворительно просто позвонить ?:
User.Save()
Может быть, я ошибаюсь, но мне кажется неправильным, когда эти "IO" файлы разбросаны повсюду. Итак, я подумываю о поиске других вариантов настойчивости, и мне стало интересно, с чего лучше всего начать. Раньше я использовал наборы данных, но у меня был неоднозначный опыт, особенно с их производительностью. Я знаю, что LINQ уже существует, но я слышал, что вместо LINQ мне следует использовать ADO.NET Entity Framework, но потом кто-то другой сказал мне, что Entity Framework не совсем подходит, и мне следует ждать C # 4.0. Если это так и C # 4.0 не за горами, я должен просто продолжить мой подход к файлам «ввода-вывода» и начать с Entity Framework, когда, наконец, выйдет C # 4.0. Или, возможно, есть более элегантная структура классов, которую я мог бы использовать, например используя частичные классы?
Я должен сказать, что я не собираюсь полностью заменять уже существующий доступ к данным, меня больше интересуют новые сущности, которые я создаю.
Прошу прощения, если этот вопрос носит общий характер, однако у меня не так много людей, которые могли бы отбросить подобные мысли.