C# 实体框架插入有时在一个项目上工作,但总是在另一个项目上工作
今天早上我去发布了一个应用程序的最终草案,当我去做最终测试时,一切都很好,直到我点击上传到master DB。一旦我这样做了,我收到了以下错误 引发异常:中的“System.Data.SqlClient.SqlException” System.Data.dll 其他信息:与网络相关或特定于实例的错误 建立与SQL Server的连接时发生。服务器已关闭 找不到或无法访问。验证实例名称是否正确 正确,并且SQL Server已配置为允许远程连接。 (提供程序:TCP提供程序,错误:0-等待操作超时。) 所以我去谷歌,发现它可能是连接字符串C# 实体框架插入有时在一个项目上工作,但总是在另一个项目上工作,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,今天早上我去发布了一个应用程序的最终草案,当我去做最终测试时,一切都很好,直到我点击上传到master DB。一旦我这样做了,我收到了以下错误 引发异常:中的“System.Data.SqlClient.SqlException” System.Data.dll 其他信息:与网络相关或特定于实例的错误 建立与SQL Server的连接时发生。服务器已关闭 找不到或无法访问。验证实例名称是否正确 正确,并且SQL Server已配置为允许远程连接。 (提供程序:TCP提供程序,错误:0-等待操作超
<add name="ChangedEntities" connectionString="metadata=res://*/MillerModels.MillerModel.csdl|res://*/MillerModels.MillerModel.ssdl|res://*/MillerModels.MillerModel.msl;provider=System.Data.SqlClient;provider connection string="data source=ExternalAddress.com,1433;initial catalog=DataBase;persist security info=True;user id=ThisUSER;password=THISPASSWORD;;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
看起来您使用的是Sql Server身份验证(Sql用户和密码,而不是AD),对吗?console应用程序和web应用程序是否在同一台服务器上运行?还要检查Sql Server实例的属性,以确保允许远程连接,并且TCP/IP是已启用的协议。请注意,正在使用的连接字符串始终属于启动项目,如果是多个项目解决方案,则Console应用程序与WPF应用程序在同一台计算机上运行。是的,我正在使用Sql Server身份验证。Tc/IP启用。这可能是@Fabio Luz建议的问题,也可能是网络问题。关于Fabio Luz建议当您收到异常时,您可以打印上下文连接(在您的案例中是c.Database.connection)。如果您将
c.procuerements.Add
放入foreach循环中,是否有效?然后他们会坚持吗?我认为AddRange正在使到数据库的连接超时。看起来您使用的是Sql Server身份验证(Sql用户和密码,而不是AD),对吗?console应用程序和web应用程序是否在同一台服务器上运行?还要检查Sql Server实例的属性,以确保允许远程连接,并且TCP/IP是已启用的协议。请注意,正在使用的连接字符串始终属于启动项目,如果是多个项目解决方案,则Console应用程序与WPF应用程序在同一台计算机上运行。是的,我正在使用Sql Server身份验证。Tc/IP启用。这可能是@Fabio Luz建议的问题,也可能是网络问题。关于Fabio Luz建议当您收到异常时,您可以打印上下文连接(在您的案例中是c.Database.connection)。如果您将c.procuerements.Add
放入foreach循环中,是否有效?然后他们会坚持吗?我认为AddRange正在使到数据库的连接超时。
<add name="MyEntities" connectionString="metadata=res://*/MILLERmODEL.csdl|res://*/MILLERmODEL.ssdl|res://*/MILLERmODEL.msl;provider=System.Data.SqlClient;provider connection string="data source=ExternalWebAddress.com,1433;initial catalog=DataBase;persist security info=True;user id=ThisUSER;password=THISPASSWORD;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
public void Procurements(List<PROCUREMENT> procurements)
{
using (var c = new MillerVeneerEntities())
{
c.PROCUREMENTs.AddRange(procurements);
c.SaveChanges();
}
}
public void SaveUsers(USER user)
{
using (var c = new MillerVeneerEntities())
{
c.USERS.Add(user);
c.SaveChanges();
}
}