处置语境

时间:2015-02-23 19:03:48

标签: c# orm telerik

你好我现在有一个问题,ORM创建了太多与我的数据库服务器的连接。这是一个例子:

public string AutoCheckPassword {
        get {
            try {
                    Secure360EntitiesModel context = new Secure360EntitiesModel();
                    String DecryptedData = context.GetDecryptedData(AutoCheckPassword_Encrypted);
                    context.Dispose();
                    return DecryptedData;
            } catch (Exception ex) {
                return "";
            }

        }
        set {

            Secure360EntitiesModel context = new Secure360EntitiesModel();
            AutoCheckPassword_Backup = value;
            AutoCheckPassword_Encrypted = context.GetEncryptedData(value.ToString());
            context.Dispose();
        }
    }

context.GetDecryptedData是一个存储过程,它返回未加密的数据。 我们可以看到,我正在呼叫context.Dispose();但它似乎没有删除连接。那么我做错了什么?

1 个答案:

答案 0 :(得分:0)

你应该使用using语句而不是在MSDN上阅读它, 它还会在抛出异常时调用dispose。

此外,您可以在Managing Connections in Object Services (Entity Framework)(关于处置时关闭连接)

上读取msdn