Entity framework 4 или DataSet?

Для базового ERP (DB с примерно 150 таблицами, приложение WinForm), которое будет работать в классической локальной сети (1 сервер и до 25 клиентов), вы бы рекомендовали EF4 или DataSet?

LINQ2SQL НЕ является опцией!

Ответ 1

EF4. DataSet - это старая технология, EF во многом является реакцией на проблемы с наборами данных.

Недавно мы создали приложение, где часть его выполнялась с помощью CRUD-операций на 80 таблицах. До EF мы бы использовали Enterprise Library и DataSets. Мы бы оценили 1 час в таблице для записи операции CRUD и unit test. С EF это было заменено главным образом автогенерированным кодом.

Ответ 2

Вы можете выбрать EF на основе логики приложения, EF может предоставить вам больше возможностей, но я думаю, что мы не можем решить, основываясь на количестве таблиц.

Проверьте эту статью, которая поможет вам решить:

Зачем использовать платформу Entity Framework?

Также проверьте это красивое видео: Разработка данных GPS: руководство по выбору правильной технологии доступа к данным для вашего приложения сегодня

Ответ 3

что довольно открытый вопрос с небольшой поддержкой информации. В этом решении есть масса факторов. Это только вы развиваетесь или команду. В любом случае, какой у вас опыт с EF? Если у вас нет большого опыта и существует ограниченная временная шкала, возможно, быстрее выполнить работу с наборами данных.

Эти вопросы в стороне, я большой поклонник ORM, и я думаю, что это облегчит жизнь в долгосрочной перспективе. Но у него есть кривая обучения, если вы не знакомы с некоторыми концепциями и особенно с gotchas (например, с выбором N + 1).

Ответ 4

Даже если вы не выбрали EF4, DataSets - это не единственный вариант.

Я бы работал гораздо лучше с POCOs, чем DataSets.

Объекты намного легче манипулировать, чем DataSets. Например, проверка данных в POCO тривиальна и легко поддерживается. В DataSet это не так.