实体框架5及更高版本和DB Context最佳实践

时间:2014-04-29 19:49:14

标签: asp.net-mvc asp.net-mvc-4 entity-framework-5

我正在建立一个全新的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;
        }

    }

}

0 个答案:

没有答案