【发布时间】:2012-02-16 17:29:01
【问题描述】:
我正在尝试使用实体框架并将其连接字符串放入 app.config。我想将它移到代码中,因为在这个开发阶段对我来说更容易。
metadata=res://*/database.csdl|res://*/database.ssdl|res://*/database.msl;provider=System.Data.SqlClient;provider connection string="data source=computer;initial catalog=database;persist security info=True;user id=user;password=Mabm@A;multipleactiveresultsets=True;App=EntityFramework"
如何让实体框架使用代码中的连接字符串而不是查看app.config?或者,如果不可能,我如何将参数传递给app.config(如dbname、dbuser、dbpassword)?
【问题讨论】:
-
“我想将它移动到代码中,因为在这个开发阶段对我来说更容易。” - 这比在 app.config 中更容易吗?让我怀疑你真正想回答的问题不是你问的那个。
-
我想将它部署给用户并且不希望密码/登录名存储在 app.config 中。在实体框架之前,我在代码中对此进行了硬编码。可能不是最好的解决方案,但在这个阶段,我根本不想在 app.config 中为数据库打开文本登录名/密码。所以要么我必须以某种方式将参数传递给它,要么硬编码连接字符串。
-
@MitchWheat 这是一种方式,但这意味着我必须触及数据库安全性,我基本上让用户能够使用 SQL Management Studio 访问数据库,如果他愿意的话,可以直接进入数据库(可能他们赢了'不要这样做,因为他们不知道如何但仍然)。
-
在这种情况下使用集成安全性(我怀疑您在非域基础架构中使用直接数据库访问)。通过将用户名和密码硬编码到您的应用程序中,您并没有使其更安全。你只是让架构变得更糟。
标签: c# winforms entity-framework app-config