企业库4 dataconfiguration标记

Zer*_*ity 4 asp.net enterprise-library asp.net-3.5

我正在使用Enterprise库进行数据访问.当我运行应用程序时,在CreateDatabase()语句中,我收到此异常:

用户代码未处理Microsoft.Practices.ObjectBuilder2.BuildFailedException消息="当前构建操作(构建密钥构建密钥[Microsoft.Practices.EnterpriseLibrary.Data.Database,null])失败:值不能为null或为空字符串.(策略类型Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfiguredObjectStrategy,index 2)"Source ="Microsoft.Practices.ObjectBuilder2"

现在,我google了一下,发现我必须放置

<dataConfiguration defaultDatabase="LocalSqlServer"/>
Run Code Online (Sandbox Code Playgroud)

但我不知道在哪里.这是正确的解决方案吗?

另外,在安装企业库时我没有看到任何连接字符串声明?所以,我想知道如何从web.config文件中获取连接字符串.

在我的web.config文件的连接字符串部分中,我有:

<remove name="LocalSqlServer"/>
 <add name="LocalSqlServer" connectionString="Data Source=MSTR;Initial Catalog=USERDb;Integrated Security=true;" providerName="System.Data.SqlClient"/>
Run Code Online (Sandbox Code Playgroud)

Ran*_*ica 6

是的,您需要将该dataConfiguration部分添加到web.config.

首先,您需要将dataConfiguration添加到web.config中的ConfigurationSections列表中:

<configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</configSections>
Run Code Online (Sandbox Code Playgroud)

然后你需要将你的连接字符串添加到web.config(你已经这样做了):

<connectionStrings>
    <add name="LocalSqlServer" connectionString="Data Source=MSTR;Initial Catalog=USERDb;Integrated Security=true;" providerName="System.Data.SqlClient"/>      
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

然后,您需要将实际的dataConfiguration部分添加到web.config:

<dataConfiguration defaultDatabase="LocalSqlServer"/>
Run Code Online (Sandbox Code Playgroud)

您也可以使用企业库配置工具为您执行此操作.