加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Ninject和连接字符串

发布时间:2020-12-15 22:31:54 所属栏目:asp.Net 来源:网络整理
导读:我是Ninject的新手,我正在尝试使用MVC和 Linq的Ninject 2.我有一个SqlProductRepository类,我想知道的是,如果我在控制器中注入Repository对象,那么在构造函数中传递connectionstring的最佳方法是什么. public class SqlProductRepository:IProductRepository
我是Ninject的新手,我正在尝试使用MVC和 Linq的Ninject 2.我有一个SqlProductRepository类,我想知道的是,如果我在控制器中注入Repository对象,那么在构造函数中传递connectionstring的最佳方法是什么.
public class SqlProductRepository:IProductRepository
{
    private Table<Product> productsTable;

    public SqlProductRepository(string connectionString)
    {
      productsTable = (new DataContext(connectionString)).GetTable<Product>();   
    }

    public IQueryable<Product> Products
    {
        get { return productsTable; }
    }
}

这是我的ProductController类,我注入了Repository:

public class ProductsController : Controller
{
    private int pageSize = 4;
    public int PageSize { get { return pageSize; } set { pageSize = value; } }  

    IProductRepository _productsRepository;

    [Inject]
    public ProductsController(IProductRepository productRepository)
    {
        _productsRepository = productRepository;
    }

    public ViewResult List(int page)
    {
        return View(_productsRepository.Products
                                       .Skip((page - 1) * pageSize)
                                       .Take(pageSize)
                                       .ToList()
                    );
    }
}

有人可以指导我这个吗?

解决方法

您可以在绑定中进行设置
_kernel.Bind<IProductRepository>()
       .To<SqlProductRepository>()
       .WithConstructorArgument("connectionString",yourConnectionString );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读