У меня есть вопрос, на который я просто не чувствую, что нашел удовлетворительный ответ, либо это, либо я искал не в нужном месте.
Наша система изначально была построена с использованием .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 уже не за горами, я должен просто продолжить свой подход к файлу "IO" и начать с Entity Framework, когда C # 4.0 будет наконец выпущен. Или, может быть, есть более элегантная структура класса, которую я мог бы использовать, например? использование частичных классов?
Должен сказать, я не собираюсь полностью заменять доступ к данным, который уже существует, меня больше интересуют новые сущности, которые я создаю.
Извините, если этот вопрос носит общий характер, однако у меня не так много людей, чтобы отразить подобные мысли.