Introduction
In this chapter, we will learn how to access data in other ways different to Entity Framework in ASP.NET Core. We will do that with micro ORMs, such as Dapper and OrmLite (but we could use also Massive, SimpleData, or PetaPoco); with NoSQL Databases, such as MongoDB and ElasticSearch (but we could also use Redis, RavenDB, DocumentDB, and so many others); and with the database capabilities of Azure.
Micro ORMs
A micro ORM is a lightweight and performant ORM.
That does not mean that the other ORMs, such as Entity Framework, NHibernate, and others, cannot be performant, but it does mean they need some configuration (no entity tracking, use of stored procedures). They are faster, and they have fewer features because they don't want to cover all the possible scenarios.
These Micro ORMs will often allow us to map the result of a SQL request to a CLR object directly, as AutoMappers
do. However, they will not track the state of our entities, have an object relational representation in memory...