2009-06-22 59 views
0

有人(希望Rob)可以解释如何实施新的SubSonicRepository <>模式?我已经使用旧版本和MVC模板(在Web表单中)使用以下初始化。如何使用新的Subsonic 3.0 IR知识库模式

public IRepository<StaffingPosition> _StaffingPositionsRepository; 

    public StaffingBase() 
    { 
     _StaffingPositionsRepository = new SubSonicRepository<StaffingPosition>(); 
    } 
    public StaffingBase(IRepository<StaffingPosition> staffingpositionsRepo) 
    { 
     _StaffingPositionsRepository = staffingpositionsRepo; 
    } 

请注意,我的WCF服务继承此类以便于访问。
现在SubSonicRepository()需要IQuerySurface的参数,我不确定实现这种情况的最佳方式。我真的在挖掘IRepository模式,并且想尽可能地坚持使用它......也就是说,除非任何人有更好的想法。谢谢!

回答

2

模板生成一个实现IQuerySurface的新类,它的名称可以在主.tt文件中配置(通常是类似NorthwindDb的东西)。通常只需要将此类的新实例传递到存储库:

_StaffingPositionsRepository = new SubSonicRepository<StaffingPosition>(new StaffingDB()); 
+0

这个工作正常!这就是说,无论何时我使用新的Subonic,即使在这种情况下,它也会返回正确的记录数,但所有记录项(在本例中为通用列表)均为null。有谁知道这是为什么? – Zacho 2009-06-22 22:36:18