リポジトリ パターンを使用して 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 が既に提供しているものを再作成する作業を行う必要があるのはなぜですか?