Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在类库中苦苦挣扎,我如何处理库中的延迟加载/连接字符串?_Vb.net_Connection String_Lazy Loading_Class Library - Fatal编程技术网

Vb.net 在类库中苦苦挣扎,我如何处理库中的延迟加载/连接字符串?

Vb.net 在类库中苦苦挣扎,我如何处理库中的延迟加载/连接字符串?,vb.net,connection-string,lazy-loading,class-library,Vb.net,Connection String,Lazy Loading,Class Library,我真的很难理解使用类库的想法,而且我几乎要用重复的类而不是共享的类库来维护单独的项目 我创建了一个包含一个类库项目和两个web应用程序的解决方案。我的主要问题是连接字符串。这些都保存/声明在web项目中,每次执行任何类型的数据访问时,我都必须将它们传递到类库中。我有点理解我为什么要这么做,所以我现在就这么做 现在,我遇到了一个关于延迟加载的问题。我正在对以下属性使用延迟加载: Public Property KeyRelationshipManager() As Employee

我真的很难理解使用类库的想法,而且我几乎要用重复的类而不是共享的类库来维护单独的项目

我创建了一个包含一个类库项目和两个web应用程序的解决方案。我的主要问题是连接字符串。这些都保存/声明在web项目中,每次执行任何类型的数据访问时,我都必须将它们传递到类库中。我有点理解我为什么要这么做,所以我现在就这么做

现在,我遇到了一个关于延迟加载的问题。我正在对以下属性使用延迟加载:

    Public Property KeyRelationshipManager() As Employee
        Get
            If _keyRelationshipManager Is Nothing Then
                _keyRelationshipManager = Employee.GetEmployee(_keyRelationshipManagerStaffNumber)
                Return _keyRelationshipManager
            Else
                Return _keyRelationshipManager
            End If
        End Get
        Set(ByVal value As AECOM.Employee)
            _keyRelationshipManager = value
        End Set
    End Property
因为此属性正在使用函数:

Employee.GetEmployee
我需要将连接字符串传递给该函数

这意味着每次使用连接字符串时都需要将其传递给属性,以便将其传递给函数


这是正确的吗?我觉得这不太对,因为我必须调整大量函数和属性,并传递连接字符串。

为什么要将连接字符串传递到类库?在类库中使用
ConfigurationManager.ConnectionString[“myClassLibraryConnection”]
。只要在两个主机应用程序的配置文件中都有该连接字符串,就可以了。web.config文件的任务是绑定不同类库的配置以形成单个应用程序。

因为我认为这样做是正确的,对我来说似乎是错误的,但这正是我所读到的。此外,我无法访问库中的ConfigurationManager。是否需要添加引用或导入命名空间?我更愿意这样做。传递它肯定比在类库中硬编码要好。但是,在宿主应用程序的web.config中指定连接字符串实际上与传入连接字符串相同——宿主应用程序告诉类库要使用哪个数据库
ConfigurationManager
位于
System.Configuration
命名空间中。谢谢。我真的很失望,但我想我终于做到了。我会把你的答案标记为有用,但我还没有代表,所以给你:+1!还应添加,您需要参考System.Configuration.dll