我正在为我的MVC应用程序创建一个帮助器类。该类将包含静态方法,这些方法将在用户首次登录系统时提取信息。
我创建了两个方法,它们将返回列表,例如国家/地区列表和语言列表。我不想每次都执行此操作,但保存第一次通话的结果并将其返回以便后续通话。
public static List<Languages> GetLanguages()
{
using (var db = new MCREntities())
{
var languages = db.spGetLanguages(0);
return Mapper.Map<List<Languages>>(languages);
}
}
public static List<Countries> GetCountries()
{
using (var db = new MCREntities())
{
var countries = db.spGetAllCountries("");
return Mapper.Map<List<Countries>>(countries);
}
}
答案 0 :(得分:0)
我想说创建一个具有所需属性liek的类
public static class CurrentSession{
List<Languages> lang{get;set;}
List<Countries> countries{get;set;}
}
并在global.asax文件中
protected void Application_Start()
{
//.........predefined codes
CurrentSession.lang = GetLanguages();
CurrentSession.Countries =GetCountries();
答案 1 :(得分:0)
在您的课程中,您可以拥有静态列表,该列表将首次尝试Languages
尝试访问数据库。
private static List<Languages> _languages = null;
public static List<Languages> GetLanguages()
{
if(_languages == null){
using (var db = new MCREntities())
{
var languages = db.spGetLanguages(0);
_languages = Mapper.Map<List<Languages>>(languages);
}
}
return _languages;
}
或者,您可以实施cache