我正在使用此代码在各个页面中选择4最后一个数据库记录
public static List<Tour> GetLastTour()
{
using (var Context = new MvcHghDbContext())
{
return (Context.Tours.Take(4).OrderByDescending(x=>x.Titl e).ToList());
}
}
如何在静态类中的静态方法中使用工作单元模式? 但是静态构造函数Erorr! 这样的代码 请帮助我:
public static class DropDownList{
private readonly ICatHotellService _catHotellService;
private readonly ICatTourismService _catTourismService;
private readonly ICatTourService _catTourService;
private readonly IUnitOfWork _uow;
public DropDownList(ICatHotellService CatHotellService, IUnitOfWork ouw, ICatTourService CatTourService, ICatTourismService CatTourismService)
{
_uow=ouw;
_catHotellService = CatHotellService;
_catTourismService = CatTourismService;
_catTourService = CatTourService;`
}
}
答案 0 :(得分:1)
简短的回答是,这不起作用。静态类可能只有静态构造函数,而这些构造函数在创建应用程序时由运行时调用。因此,在配置依赖项注入之前很久就会发生这种情况。最重要的是,您永远不应该在Web应用程序中拥有静态数据上下文,因为这些是应用程序的所有用户共享的,因此使用相同数据上下文的两个用户将相互写入数据模型。
答案 1 :(得分:1)
MvcHghDbContext
的一个实例注入服务层的不同类,而不是每次都直接实例化它,例如GetLastTour
方法。ObjectFactory.GetInstance<>
)。它是一种反模式,应该尽可能避免,因为现在IoC容器是你班级的依赖。