Entity Framework is an ORM (Object Relational Mapping) which helps to interact with Relational Database using object. It provides the higher level of abstraction.
In asp.net to interact with database we use Ado.net. Entity framework allows you to also work with database.
As LINQ to SQL support only SQL Server database, Entity framework support almost all database like oracle, MySQL etc.
Entity Framework in asp.net is the enhancement of ADO.net which provides the strong mapping facilities. Microsoft introduced entity framework in dot net framework 3.5 sp1.
Database first is the approach in which our database has already generated. And using this database we create our Model and code in entity framework.
In Model first we create designer (model) first. If database not exist then we can create database using this designer
In code first we create code file first and then if database not exist then database will be created automatically at runtime using this code.