我的app.config文件中有此自动生成的连接字符串。这是通过在Entity Framework中建立数据库优先模型来产生的:
<add name="HalloweenContext" connectionString="metadata=res://*/HalloweenDbModel.csdl|
res://*/HalloweenDbModel.ssdl|
res://*/HalloweenDbModel.msl;
provider=System.Data.SqlClient;
provider connection string="
data source=localhost\sqlexpress;
initial catalog=Halloween;
integrated security=True;
MultipleActiveResultSets=True;
App=EntityFramework""
providerName="System.Data.EntityClient" />
我被指示接受该连接字符串并将其放在应用程序设置中(图像用于说明应用程序设置页面):
我已经完成了本节,并将其剪切/粘贴到名为“ HalloweenContext”的设置变量中,并将其更改"e;
为单引号:
"metadata=res://*/HalloweenDbModel.csdl|
res://*/HalloweenDbModel.ssdl|
res://*/HalloweenDbModel.msl;
provider=System.Data.SqlClient;
provider connection string=';
data source=localhost\sqlexpress;
initial catalog=Halloween;
integrated security=True;
MultipleActiveResultSets=True;
App=EntityFramework';"
providerName="System.Data.EntityClient"
但是,当我将上述选择粘贴到HallowContext的应用程序设置变量中时,出现以下错误消息:
我已经检查了连接字符串并重新检查了它,但是我无法弄清楚它出了什么问题。我删除了引号,添加了引号等,但是似乎没有任何作用。
我想知道是否由于这是一个EF连接字符串,是否将其错误地放入了应用程序设置中?
更新:使用下面的答案中概述的新的数据连接字符串后,我现在收到一个新的错误:
该上下文在Code First模式下与从EDMX文件生成的代码一起用于Database First或Model First开发。这将无法正常工作。若要解决此问题,请不要删除引发此异常的代码行。如果希望使用数据库优先或模型优先,请确保在启动项目的app.config或web.config中包含Entity Framework连接字符串。如果要创建自己的DbConnection ...
因此,我认为我可能无法使用此上下文代替我的数据库优先上下文。但是,我似乎也无法按原样使用db-first上下文,因此我处于停滞状态。我将继续寻找解决方案,并且感谢您提供的帮助。
作为补充说明,我将重申原始连接字符串可以正常工作,并且位于app.config文件中。但是,已指示我将其添加到应用程序设置中。我个人认为,如果它可以在app.config文件中工作,那么就足够了,但是我们已经被指示使用连接字符串,方法是将其添加到应用程序设置中并像一样使用connectionString = Settings.Default.HaloweenContext
。最终目标是在我们可以使用的应用程序设置中设置许多连接字符串。
旁注:我相信在app.config文件中使用多个命名的连接字符串是可行的方法。将这些连接字符串添加为应用程序设置,而不是仅将它们手动添加到app.config文件,有什么好处?
那不是ADO.NET连接字符串,看起来像EF字符串
这是您想要的conn字符串:
"data source=localhost\sqlexpress; initial catalog=Halloween; integrated security=True;MultipleActiveResultSets=True;"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句