如何在EntityFramework6中以编程方式为MSSQL创建连接字符串?如何以编程方式在EntityFramework6中为MSSQL创建连接字符串?我正在使用c#和WPF,我想知道是否有人可以告诉我如何或将我链接到显示如何以编程方式在EF6中设置连接字符串的资源。MSDN文章解释说您可以http://msdn.microsoft#com/en-us/data/jj680699#moving但它不会创建实际的连接字符串。因此,这是App.Config中的有效EF6示例entityFrameworkcodeConfigurationType="WPFwithEF.SqlConfiguration,WPFwithEF">/entityFrameworkcontext放;}公共DbSet产品{得到;放;}}Configuration.cs命名空间WPFwithEF{publicclassSqlConfiguration:DbConfiguration{publicSqlConfiguration(){SetProviderServices(SqlProviderServices.ProviderInvariantName,SqlProviderServices.InvariantName,SqlProviderServices.InstanceConnection);但是如果上下文基础是“name=Wpf”,这个设置就不起作用了有没有办法让它起作用?我正在寻找最新的EF6而不是旧方法。您可以按照此处所述使用EntityConnectionStringBuilder:如何:构建EntityConnection连接字符串}privatestringCreateConnectionString(stringserver,stringdatabaseName,stringuserName,stringpassword){varbuilder=newSqlConnectionStringBuilder{DataSource=server,//服务器地址InitialCatalog=databaseName,//数据库名称IntegratedSecurity=false,//服务器auth(false)/winauth(true)MultipleActiveResultSets=false,//激活/停用MARSPersistSecurityInfo=true,//隐藏登录凭证UserID=userName,//用户名Password=password//密码};返回builder.ConnectionString;}如何使用:publicvoidConnectoToDbWithEf6(){using(varconnection=CreateConnection(CreateConnectionString("server","db","you","password"){using(varcontext=newYourContext(connection,true)){foreach(varsomeEntcontext.SomeEntitySet中的实体){Console.WriteLine(someEntity.ToString());}}}}请参阅https://msdn.microsoft.com/en-Us/library/system.data.sqlclient.sqlconnectionstringbuilder%28v=vs.100%29.aspx我曾经使用在应用程序中找到的DefaultConnection字符串。config(或web.config)作为示例,只是将DbContext上的“connectionstring”替换为我希望连接字符串看起来像的那个:DataSource=(LocalDb)MSSQLLocalDB;AttachDbFilename=|DataDirectory|aspnet-ShoppingList.Web-20150903103641.mdf;InitialCatalog=aspnet-ShoppingList.Web-20150903103641;IntegratedSecurity=True如果我没记错的话你应该替换下面的连接字符串:DbContext.Database.Connection.ConnectionstringPS。如果您使用代码优先,则只能以这种方式使用它。如果您使用模型优先或数据库优先,则应使用EntityConnectionStringBuilder。您可以使用ConnectionStringPTnuget包。它有3种方法:最后一种方法适合你,假设你的edmx被命名为ProductConnectionStringHelper.ConnectionString.GetSqlEntityFrameworkConnectionString("serverName","databaseName","Product");包将返回:metadata=res://*/Product.csdl|res://*/Product.ssdl|res://*/Product.msl;provider=System.Data.SqlClient;providerconnectionstring="DataSource=serverName;InitialCatalog=databaseName;IntegratedSecurity=True"我今天调查了这个问题。在我看来,上面没有提到最简单的解决方案。为什么不使用SqlConnectionStringBuilder类?(使用System.Data.SqlClient)这是一个如何使用它的简单示例。以上是C#学习教程:HowtoprogrammaticallycreateaconnectionstringforMSSQLinEntityFramework6?如果分享的内容对你有用,需要进一步了解C#学习教程,希望你多多关注——.ConnectionString))...)//适用于EFCore,也应该适用于EF6(尚未尝试过)privatestaticstringgetConnectionString(stringdatabaseName){return"DataSource=SQLSERVERNAME;InitialCatalog="+databaseName+";集成安全=真";}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
