我经常看到使用存储库模式来抽象 ORM 的代码。为什么这样做?ORM 不是已经是一个抽象并且本身就充当一个存储库吗?
有没有很大的区别
public class EmployeeRepo
{
GetById(int id) { //Access ORM here };
}
消费数据:
public class MyController{
private EmployeeRepo = _Repo = new EmployeeRepo();
public ActionResult ShowEmployee(int id)
{
var emp = _Repo.GetById(id);
//Versus
var emp = ORM.Where(e => e.Id == id);
return View(emp);
}
}
为什么我要重新创建 ORM 已经给我的东西?