我在EntityFramework
平台上使用Windows Azure
。它在LOCAL
模式下运行良好,但是当我尝试在Web上运行我的Silverlight
应用程序时。我收到一个错误:
底层提供程序在Open上失败。
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="DomainServiceModule" preCondition="managedHandler" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
</appSettings>
<system.web>
<httpModules>
<add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</httpModules>
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
<httpRuntime requestValidationMode="4.5" targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<pages controlRenderingCompatibilityVersion="4.5" />
<machineKey compatibilityMode="Framework45" />
</system.web>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<connectionStrings>
<add name="DatabaseEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string="data source=lnqg2ulkjr.database.windows.net;initial catalog=BuilderDatabase;persist security info=True;user id=XXXXX;password=XXXXX;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
我正在检查这是与Integrated Security
的连接字符串中的问题,但在我的情况下,我没有该属性。可能是什么错误?
答案 0 :(得分:3)
此错误来自实体 - 它与Silverlight几乎没有关系。它发生在两件事之一发生时:
第二个应该很容易检查,因为你有一个工作的本地。如果您本地的数据模型与“生产”环境中的数据模型相同,那么该部分就会得到处理。如果您有不同的表,则可能会遇到一些问题。如果它们缺少您已编码到Entity数据模型中的列,则这是真的。在许多情况下,实体会容忍额外的列和额外的表,尽管这会根据情况发生很大变化,所以YMMV。但是,如果实体期望某些东西存在而不是,那么它每次都会快速崩溃。
我更大的怀疑是那里有相当棒的连接字符串。您应该能够检查InnerException
有关数据库服务器正在引发的特定抱怨的内容。如果不是,我会把它扯到一个控制台应用程序中,并尝试连接一个简单SqlConnection
做一个简单的Select count(Id) from dbo.SmallTable
。这将允许您隔离连接问题并在一个良好的受限环境中处理它们。在对连接问题进行分类之后,您可以粘贴连接字符串 - 现在希望不那么容易混淆 - 重新进入并继续。