有人能解释一下使用这种模式的好处吗?
我的意思是,EF不就已经是一种仓储了吗?你不能只查询容器并返回那些对象吗?
我看到很多关于POCO、AutoMapper、依赖注入、服务层、IoC的讨论。我是不是把一堆东西混在一起了,还是它们都相关呢?
有人能向我解释一下吗?
此外,这一切如何与MVC.net、ViewModels和DataModels结合在一起呢?
谢谢, Sam
有人能解释一下使用这种模式的好处吗?
我的意思是,EF不就已经是一种仓储了吗?你不能只查询容器并返回那些对象吗?
我看到很多关于POCO、AutoMapper、依赖注入、服务层、IoC的讨论。我是不是把一堆东西混在一起了,还是它们都相关呢?
有人能向我解释一下吗?
此外,这一切如何与MVC.net、ViewModels和DataModels结合在一起呢?
谢谢, Sam
这里有一些随机的问题,我会给出一些随机的答案:
关于 #3 的详细解释:
没有使用 Repository 的示例控制器:
public class ProductsController
{
public ActionResult GetProduct(int productId)
{
Product p;
using (var ctx = new MySecretContextWhichIsNowExposed())
{
p = ctx.Products.SingleOrDefault(x => x.ProductId == productId);
}
return View(p);
}
}
以上方法存在以下问题:
带存储库的示例控制器(和IoC):
public class ProductsController
{
private readonly IProductsRepository _repo;
public ProductsController(IProductsRepository repo)
{
_repo = repo;
}
public ActionResult GetProduct(int productId)
{
Product p = _repo.FindById(productId);
return View(p);
}
}
为什么上述方法更好:
MockProductRepository
,然后就可以使用它(可以实现为内存列表)。