I am going to start a new project. and I am a little bit confused to which technology I should apply in my project: Dapper or Entity Framework.. MS SQL Server 2008R2 and VS2017
Can anyone help to decide to choose?
Both products are very capable, and very useful, in their own way.
Entity Framework tries to increase programmer's productivity by removing a lot of need to write SQL code - you can express everything in C#, and let EF handle all the nitty-gritty details of turning that into SQL statements. But EF is quite a large beast, and doesn't always get the best performance - especially for bulk operations.
Dapper is very small, very fast - but the "downside" is that it relies on pure, raw SQL statements to get its data - so you need to be able and comfortable writing SQL queries to use with Dapper.
I prefer Dapper for smaller, quick-n-dirty kind of projects, or small tools and helpers - great way to getting your data.
EF is big, it's quite a beast, but for an Enterprise-scale application, it's a life saver.
It depends on the data model and performance requirements.
For simple queries, flat data or throughput-sensitive parts of application Dapper is better choice.
If you data is relational by nature and you have to access linked objects easily EF would be a great choice.