我正在建立一个全新的MVC 4.5网络项目;我想知道如何使用Entity Framework 5及更高版本处理sql连接(如果打开一个新连接 - 这是处理数据库的耗时部分,或者连接是否与数据库或...保持打开状态。 。)
请注意以下内容不是我的代码的真实样本;它只是为了演示我计划如何重用数据库上下文:
我的问题: 处理声明DBContext的重复部分的最佳方法是什么:
using (var dbc = new Lib.User.DAL.UserEntity()) { ... }
public class User
{
public static string GetUserName(int userid)
{
using (var dbc = new Lib.User.DAL.UserEntity())**
{
var user = (from u in dbc.User where u.UserID == userid select u).FirstOrDefault();
return user.username;
}
}
public static string GetFirstName(int userID)
{
using (var dbc = new Lib.User.DAL.UserEntity())
{
var user = (from u in dbc.User where u.UserID == userID select u).FirstOrDefault();
return user.fName;
}
}
}
public class UserGroup
{
public static string GetGroupName(int userGroupID)
{
using (var dbc = new Lib.User.DAL.UserEntity())
{
var group = (from u in dbc.UserGroup where u.UserGroupID == userGroupID select u).FirstOrDefault();
return group.userGroupName;
}
}
public static string GetAccessTypeName(int accessTypeID)
{
using (var dbc = new Lib.User.DAL.UserEntity())
{
var ga = (from u in dbc.UserGroupAccess where u.UserGroupAccessTypeID == accessTypeID select u).FirstOrDefault();
return ga.UserGroupAccessType.accessTypeName;
}
}
}