What is O/RM?
Object/Relational Mapping (O/RM) is a mechanism to store and/or retrieve data from domain objects without considering how they are related with their data sources, which makes the application maintainable and extendable. Object/Relational Mapping (O/RM) encapsulates the code which needed to manipulate the data that allows programmer to interact with data in same language, so programmer no longer has to use SQL. ORM manages the mapping between set of domain objects and relational database objects. ORM automates standard CRUD operation (Create, Read, Update & Delete) so that the programmer doesn't need to write it manually.
![](/blog/image.axd?picture=/29da36a2-6471-4bf3-bc48-be899f10d593.jpg)
What is Entity Framework?
Entity framework is an Object/Relational Mapping (O/RM) framework, an enhancement to ADO.NET which provides a mechanism for accessing & storing the data in the database. It can be used in ASP.NET applications for data related operations.
Why Micro ORM?
Most of the ORM tools like NHibernate or Entity Framework has many features those are implemented in years as required, but in a real world, developers are using a small subset of them and complexity of unused features may downgrade the performance of an application.
Micro ORM only provides few set of features like read data from the database and map them to domain objects. Micro ORM requires very fewer configurations and are easy to use compared to full ORM.
E.g. Micro ORM dapper provides extension methods to DbConnection class and adding a reference to dapper will allow accessing database using those extension methods and if consider the performance it provides a result with time near to ADO.NET.
Why ORM?
ORM supports relationship for domain objects means related objects can be loaded automatically if required. To achieve this with Micro ORM query needs to be formed accordingly which will add complexity in code and query.
Entity framework provides designer to create domain classes and relationship between those classes while with Micro ORM classes and relationship needs to be constructed manually.
Entity framework provides caching for returning cached result set if a similar request has been made recently.
What to choose?
Micro ORM
- If having a requirement to produce the best performance, prefer dapper over Entity Framework.
- If having a requirement to migrate legacy code of ADO.NET, will help to improve code with minimum changes especially with dapper which provides extension methods to DbConnection.
Entity Framework
- If want to use relationships for domain classes, to load related objects Entity Framework is preferred.
- If want to use OData which works over IQueryable and to make it more effective Entity Framework can be used to gain performance.
Integrate Dapper micro ORM with ASP.NET MVC
- Create Student and Address classes
public class Student
{
public Student()
{
this.Address = new List<Address>();
}
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public List<Address> Address { get; set; }
}
public class Address
{
public int Id { get; set; }
public string AddressType { get; set; }
public string StreetAddress { get; set; }
public string City { get; set; }
public string State { get; set; }
public string ZipCode { get; set; }
public int StudentId { get; set; }
}
Now Create IStudentRepository.cs interface and StudentRepository.cs classes for data access.
public interface IStudentRepository
{
List<Student> GetAll();
Student Get(int id);
Student Insert(Student student);
Student Update(Student student);
bool Remove(int id);
Student GetDetail(int id);
}
public class StudentRepository : IStudentRepository
{
private IDbConnection _db;
public StudentRepository()
{
this._db = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
}
public List<Student> GetAll()
{
return this._db.Query<Student>("SELECT S.Id, S.FirstName, S.LastName, S.Email FROM dbo.Student S").ToList();
}
public Student Get(int id)
{
return this._db.Query<Student>("SELECT S.Id, S.FirstName, S.LastName, S.Email FROM dbo.Student S WHERE S.Id = @Id", new { Id = id }).SingleOrDefault();
}
public Student Insert(Student student)
{
var query = "INSERT INTO Student (FirstName, LastName, Email) VALUES(@FirstName, @LastName, @Email); " + "SELECT CAST(SCOPE_IDENTITY() as int)";
student.Id = this._db.Query<int>(query, student).Single();
return student;
}
public Student Update(Student student)
{
var query = "UPDATE Student SET FirstName = @FirstName, LastName = @LastName, Email = @Email WHERE Id = @Id";
this._db.Execute(query, student);
return student;
}
public bool Remove(int id)
{
var affectedRecords = this._db.Execute("DELETE FROM Student WHERE Id = @Id", new { Id = id });
return affectedRecords == 1;
}
public Student GetDetail(int id)
{
using (var results = this._db.QueryMultiple("dbo.GetStudent", new { Id = id }, commandType: CommandType.StoredProcedure))
{
var student = results.Read<Student>().SingleOrDefault();
var addresses = results.Read<Address>();
if (student != null && addresses != null)
{
student.Address.AddRange(addresses);
}
return student;
}
}
Use above repository in ASP.NET MVC StudentController and create an instance for StudentRepository
public class StudentController : Controller
{
private IStudentRepository _studentRepository;
public StudentController()
{
this._studentRepository = new StudentRepository();
}
// GET: /Student/Detail/1
public ActionResult Detail(int id)
{
return this.View(this._studentRepository.GetDetail(id));
}
}
![](data:image/png;base64,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)
Similarly insert, update and delete can be implemented in ASP.NET MVC using student repository of dapper micro ORM data access layer.