EF6控制台应用中使用App.config连接字符串执行Scaffold-DbContext报错求助
解决EF6控制台应用通过连接字符串名称执行Scaffold-DbContext的问题
核心问题根源
Package Manager Console默认读取启动项目的配置文件,若启动项目不是你的控制台应用,或命令参数未正确指定配置来源,就会出现找不到连接字符串的错误。以下是具体解决步骤:
设置控制台应用为启动项目
右键你的控制台应用项目 → 选择「设为启动项目」。Package Manager Console会默认读取该项目下的App.config,确保连接字符串能被正确识别。使用正确的命令格式指定连接字符串名称
在Package Manager Console中,先将「默认项目」下拉框选中你的控制台应用项目,再执行以下命令:Scaffold-DbContext -Connection "name=connString" -Provider System.Data.SqlClient -OutputDir Models关键是用
"name=connString"的格式,明确告知命令从配置文件中读取指定名称的连接字符串。指定自定义配置文件路径(可选)
若你的配置文件不在默认位置,或启动项目无法切换为控制台应用,可通过-AppConfigFile参数指定绝对路径:Scaffold-DbContext -Connection "name=connString" -Provider System.Data.SqlClient -OutputDir Models -AppConfigFile "D:\Projects\YourConsoleApp\App.config"验证配置文件正确性
检查App.config中连接字符串的name属性拼写是否完全一致,同时确保XML格式无语法错误(比如未闭合标签、引号不匹配)。
内容的提问来源于stack exchange,提问作者GiuBerr
相关产品推荐
相关产品推荐

