我有一堆常用的列表,需要填充下拉列表。而不是在这里定义带有列表的ViewModel是我正在做的事情。
@Html.DropDownListFor(model => project.TypeID, new SelectList(@PSS.Helpers.ProjectTypes.ProjectTypesList(),"id","name"))
其中Helper类定义如下
namespace PSS.Helpers
{
public class ProjectTypes
{
public static List<ProjectType> ProjectTypesList()
{
MyContext db = new MyContext();
return db.ProjectTypes.ToList<ProjectType>();
}
}
}
这样做有什么不对吗?我打破任何规则吗?
答案 0 :(得分:1)
使用此代码,您可能会比您想要的更多次访问您的数据库。因为每次遇到此帮助程序时,您都要创建一个新的Entity Framework上下文并点击数据库以获取ProjectTypes列表。对我来说,这很糟糕。