Asp.net mvc 存储库:IShippingRepository { CPLinkEntities\u实体; ShippingRepository(CPLinkEntities实体) { _实体=实体; } 公共IQueryable getShippings() { 从装运实体返回。装运加入…加入…选择 } }

Asp.net mvc 存储库:IShippingRepository { CPLinkEntities\u实体; ShippingRepository(CPLinkEntities实体) { _实体=实体; } 公共IQueryable getShippings() { 从装运实体返回。装运加入…加入…选择 } },asp.net-mvc,asp.net-mvc-3,model-view-controller,viewmodel,repository-pattern,Asp.net Mvc,Asp.net Mvc 3,Model View Controller,Viewmodel,Repository Pattern,首先,我要为需要执行的查询向存储库界面添加一个方法定义。存储库可以为该查询指定一个有意义的名称: public interface IShippingRepository { IQueryable<Shipment> GetShipments() // ... } 具体的存储库定义可能如下所示 public class ShippingRepository : IShippingRepository { CPLinkEntities _entities;

首先,我要为需要执行的查询向存储库界面添加一个方法定义。存储库可以为该查询指定一个有意义的名称:

public interface IShippingRepository
{
    IQueryable<Shipment> GetShipments()
    // ...
}
具体的存储库定义可能如下所示

public class ShippingRepository : IShippingRepository
{
    CPLinkEntities _entities;

    ShippingRepository (CPLinkEntities entities)
    {
        _entites = entities;
    }

    public IQueryable<Shipment> GetShipments()
    {
        return from ship in _entities.Ships join ... join ... select
    }
}
公共类ShippingRepository:IShippingRepository
{
CPLinkEntities\u实体;
ShippingRepository(CPLinkEntities实体)
{
_实体=实体;
}
公共IQueryable getShippings()
{
从装运实体返回。装运加入…加入…选择
}
}

我希望我能投票不止一次,我可能会有偏见,因为我喜欢斯科特,这是解释存储库的最简单方式。我希望我能投票不止一次,我可能会有偏见,因为我喜欢斯科特,这是解释存储库的最简单方式。
public interface IShippingRepository
{
    IQueryable<Shipment> GetShipments()
    // ...
}
public class SomeController : Controller
{

    IShippingRepository _shippingRepository;

    public SomeController()
    {
        _shippingRepository = new ShippingRepository(new CPLinkEntities());
    }


    public ViewResult ShippingSummary()
    {
        var shipments = _shippingRepository.GetShipments();

        // ....
    }   
}
public class ShippingRepository : IShippingRepository
{
    CPLinkEntities _entities;

    ShippingRepository (CPLinkEntities entities)
    {
        _entites = entities;
    }

    public IQueryable<Shipment> GetShipments()
    {
        return from ship in _entities.Ships join ... join ... select
    }
}