For a basic ERP (DB with around 150 tables, WinForm app) which would run on a classic LAN network (1 server and up to 25 clients) would you recomend EF4 or DataSet ?
LINQ2SQL is NOT an option !
For a basic ERP (DB with around 150 tables, WinForm app) which would run on a classic LAN network (1 server and up to 25 clients) would you recomend EF4 or DataSet ?
LINQ2SQL is NOT an option !
EF4. DataSet is an old technology, EF is in many ways a reaction to the problems with datasets.
We recently built an app, where part of it was CRUD operations on 80 Tables. Before EF we would have used Enterprise Library and DataSets. We would have estimated 1 hour per table for writing the CRUD operation and the unit test. With EF this was replaced mostly with autogenerated code.
You can choose EF based on the application logic, EF can give you more options but I think we can't decide based on number of tables.
Check this article which will help you to decide:
Also check this nice video: Data Development GPS: Guidance for Choosing the Right Data Access Technology for Your Application Today
that's a pretty open ended question with not much supporting information. There are a ton of factors involved in this kind of decision. Is it just you developing or a team. Either way, what experience do you have with EF? If you don't have a lot of experience and there's a tight timeline, it may be quicker to get the job done with Datasets.
Those types of questions aside, I'm a big fan of ORM and I think it makes life easier in the long run. But it does have a learning curve if you're not familiar with some of the concepts and especially the gotchas (like Select N+1 issues).